@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f8f9f5;--card:#fff;--ink:#1d3830;--muted:#718078;--line:#dfe7df;--green:#176b51;--soft:#e7efe4;--gold:#e9bd61;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px Manrope,system-ui,sans-serif}body.dark{--bg:#14231e;--card:#20342b;--ink:#edf4ea;--muted:#a7baad;--line:#3a5143;--green:#88d4b0;--soft:#2a4536;color-scheme:dark}a{color:inherit;text-decoration:none}header{height:92px;padding:0 max(5vw,20px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--card)}.brand{display:flex;gap:10px;align-items:center;font-size:23px;font-weight:800;white-space:nowrap}.brand b{color:var(--green)}.brand small{font-size:12px;font-weight:500}.brand-icon{background:var(--green);color:var(--card);padding:4px 9px;border-radius:10px}nav,.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}nav form{margin:0}main{max-width:1240px;margin:0 auto;padding:32px 32px 0}.hero{position:relative;overflow:hidden;border-radius:26px;padding:50px 55px;background:var(--soft);min-height:350px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--green)}h1{font-size:56px;line-height:1.1;letter-spacing:-2px;margin:20px 0}h1 em{font-style:normal;color:var(--green)}p{line-height:1.7;color:var(--muted)}.hero-note{font-size:10px;letter-spacing:1.3px;font-weight:700;margin-top:28px}.hero-note span{margin:0 15px;color:#bb9452}.book-art{position:absolute;right:80px;top:65px;width:315px;height:270px}.book-art div{position:absolute;box-shadow:0 20px 35px #14382e33;border-radius:4px 14px 14px 4px;width:164px;height:230px;padding:35px 22px;background:#be773b;color:#fff7dc;font-size:25px;font-weight:800;transform:rotate(-14deg);border-left:8px solid #925529}.book-art div+div{right:0;top:10px;transform:rotate(12deg);background:#316751;border-left-color:#224b3b}.book-art small{display:block;font-size:10px;margin-top:55px;letter-spacing:2px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:38px 0 24px}h2{font-size:30px;letter-spacing:-1px;margin:8px 0}button,.button{font:inherit;font-weight:700;cursor:pointer;background:var(--green);border:1px solid transparent;border-radius:11px;color:var(--card);padding:12px 20px;display:inline-block}button:disabled{opacity:.5;cursor:wait}button:hover,.button:hover{filter:brightness(.94)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cfaa57;outline-offset:3px}.quiet{background:transparent;color:var(--ink);border-color:var(--line)}.filters{display:flex;gap:20px;justify-content:space-between;align-items:center}.languages{display:flex;gap:4px;border:1px solid var(--line);border-radius:12px;padding:4px;background:var(--card)}.languages button{background:transparent;color:var(--muted);font-size:12px;padding:11px}.languages button.selected,.chips button.selected{background:var(--green);color:var(--card)}.search-input{flex:1;max-width:480px;display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--card);margin:0}.search-input span{font-size:25px;margin-left:15px}.search-input input{border:0;background:transparent;margin:0}.chips{display:flex;overflow-x:auto;gap:8px;margin:22px 0;padding-bottom:6px}.chips button{white-space:nowrap;background:var(--card);color:var(--ink);border-color:var(--line);font-size:12px;padding:10px 14px}.subjects{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.subjects label{display:flex;gap:12px;align-items:center;font-size:12px}.subjects select{width:240px;margin:0}.subjects .quiet{font-size:12px;border:0}.books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.book{background:var(--card);border:1px solid var(--line);border-radius:17px;overflow:hidden;cursor:pointer;position:relative}.book:hover{box-shadow:0 8px 20px #173a2a12;transform:translateY(-2px)}.cover{height:230px;background:var(--soft);padding:22px;display:flex;justify-content:center;align-items:center}.cover img{max-width:100%;height:100%;object-fit:contain;box-shadow:3px 6px 12px #18372820}.book-info{padding:18px}.badge{font-size:10px;color:var(--green);background:var(--soft);padding:5px 8px;border-radius:5px}.book h3{font-size:14px;line-height:1.5;min-height:42px;margin:12px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book p{font-size:11px;margin:0}.book .foot{display:flex;justify-content:space-between;margin-top:18px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.heart{position:absolute;top:12px;right:12px;background:var(--card);color:var(--green);padding:7px 11px;border-radius:50%;font-size:20px;box-shadow:0 2px 5px #0001}.muted{color:var(--muted);font-size:12px}.request-panel{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:30px 35px;margin-top:45px;display:flex;align-items:center;justify-content:space-between;gap:20px}.request-panel h2{font-size:24px}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:30px 0}dialog{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:36px;max-width:700px;width:calc(100% - 30px);max-height:90vh}dialog::backdrop{background:#0a241dbb}.close{float:right;padding:5px 10px}.detail{display:flex;gap:28px;clear:both}.detail img{width:170px;object-fit:contain;align-self:flex-start;margin-top:20px}.detail h2{font-size:25px}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions>*{font-size:12px}input,select,textarea{display:block;width:100%;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px;margin:7px 0}label{display:block;margin:14px 0;font-size:13px;font-weight:600}textarea{min-height:100px}.row>label{flex:1}.row>input{flex:1;min-width:140px}.login{max-width:460px;margin:8vh auto}.login h1{font-size:34px}.error{color:#be4a35}.notice{background:var(--soft);padding:15px;border-radius:9px}.editor{max-width:700px}.inline{display:flex;gap:10px;align-items:center}.inline input{width:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;margin:25px 0;font-size:13px}th,td{padding:14px;text-align:left;border-bottom:1px solid var(--line)}td a{color:var(--green);font-weight:700}.panel{padding:20px;border:1px solid var(--line);border-radius:12px;margin:15px 0}.search{display:flex;gap:10px;align-items:center}#more{margin:25px auto;display:block}#more[hidden]{display:none}#status{padding:10px 0;color:var(--muted)}
@media(max-width:900px){.book-art{right:25px;transform:scale(.8);transform-origin:right center}.hero{padding:35px}h1{font-size:45px}.books{grid-template-columns:repeat(3,1fr)}.filters{flex-direction:column;align-items:stretch}.search-input{max-width:none}.languages{justify-content:center}.languages button{flex:1}}
@media(max-width:600px){header{height:74px;padding:0 18px}.brand{font-size:18px}nav{gap:5px}nav button{padding:8px;font-size:11px}main{padding:20px 16px 0}.hero{padding:28px;min-height:300px}.hero h1{font-size:40px}.hero p{font-size:12px;max-width:210px}.book-art{opacity:.15;right:-40px;top:60px}.hero-note{font-size:8px;position:relative}.eyebrow{font-size:8px}h2{font-size:25px}.books{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cover{height:190px;padding:18px}.book-info{padding:13px}.book h3{font-size:12px}.subjects select{width:170px}.subjects .quiet{padding:8px;font-size:10px}.request-panel{padding:24px;align-items:flex-start;flex-direction:column}.request-panel h2{font-size:23px}.detail{flex-direction:column}.detail img{height:170px;width:auto;margin:auto}footer{gap:20px;line-height:1.8}.section-title .muted{font-size:10px}}

.ui-languages{display:flex;gap:4px;align-items:center;font-size:11px;white-space:nowrap}.ui-languages a{padding:7px 9px;border-radius:7px;color:var(--muted)}.ui-languages .active{background:var(--soft);color:var(--green);font-weight:800}@media(max-width:600px){header{height:auto;min-height:74px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}header nav{flex-wrap:wrap}.ui-languages a{padding:6px}.login .ui-languages{justify-content:flex-end;margin-bottom:20px}}
