:root{--purple:#614a90;--dark:#2e2249;--ink:#292137;--muted:#746b80;--line:#e3deeb;--paper:#f8f7fb;color-scheme:light}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,sans-serif;background:var(--paper);color:var(--ink)}a{color:var(--purple);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a58ad3;outline-offset:3px}header{background:var(--dark);color:white;padding:0 max(24px,6vw) 72px;overflow:hidden}nav{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid #ffffff24;gap:20px}nav a{color:white;text-decoration:none;font-size:13px}.brand{display:flex;gap:14px;align-items:center;font-weight:750;letter-spacing:.08em}.brand img{width:64px;height:64px;border-radius:50%;background:white}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.16em;margin-top:4px;color:#cec2e4}.hero{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;gap:70px;max-width:1300px;margin:55px auto 0}.eyebrow{font-size:11px;letter-spacing:.19em;color:#c5b3e4;font-weight:700}h1{font:clamp(42px,5.5vw,78px)/1.03 Georgia,serif;letter-spacing:-.04em;margin:22px 0}h1 em{font-weight:400;color:#c9b5e9}.hero p{color:#d1c9de;font-size:17px;line-height:1.8}.stats{display:flex;gap:32px;margin-top:32px;flex-wrap:wrap}.stats span{font-size:11px;color:#c5bad4}.stats b{display:block;font-size:24px;color:white;font-weight:550}.cover{width:min(310px,100%);justify-self:center;transform:rotate(4deg);padding:10px;background:#ffffff10;border:1px solid #ffffff25;box-shadow:20px 25px 0 #130c242f}.cover img{width:100%;max-height:350px;object-fit:cover;display:block}.cover span{display:block;text-align:center;font-size:9px;letter-spacing:.15em;padding:12px 0 4px;color:#d7cce7}.collection{padding:0 max(24px,6vw) 60px;max-width:1600px;margin:auto;scroll-margin-top:24px}.search-panel{position:relative;margin-top:-30px;background:white;border:1px solid var(--line);padding:26px 30px;border-radius:12px;box-shadow:0 8px 25px #2e22490a}.search-panel label{font:25px Georgia,serif;display:block;margin-bottom:13px}.search-row{display:flex;gap:10px}.search-row input{width:100%;border:1px solid #cfc4df;background:#fbfaff;padding:15px 17px;border-radius:7px;min-width:0}.search-row button{border:1px solid var(--line);background:white;border-radius:7px;padding:0 20px;color:var(--purple)}.search-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:12px;color:var(--muted)}.search-foot button{color:var(--purple);background:none;border:0;font-size:12px;font-weight:700;white-space:nowrap}.toolbar{display:flex;gap:18px;align-items:center;margin:32px 0;flex-wrap:wrap}.toolbar a{font-size:12px;margin-left:auto}.toolbar select{border:1px solid var(--line);padding:10px;border-radius:6px;background:white;color:var(--ink);max-width:100%}.tabs{display:flex;gap:5px;background:#eeeaf4;border-radius:8px;padding:4px}.tabs button{border:0;border-radius:5px;padding:10px 18px;background:transparent;color:var(--muted);font-size:13px;font-weight:650}.tabs .active{background:white;color:var(--purple);box-shadow:0 1px 5px #2e224910}.results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:26px 0 18px}h2{font:28px Georgia,serif;margin:0}.results-heading span{font-size:12px;color:var(--muted)}#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:23px}.card{border:1px solid var(--line);background:white;border-radius:9px;overflow:hidden;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #2e224912}.imagebutton{display:block;width:100%;height:205px;border:0;background:#eeebf2;padding:15px}.imagebutton img{width:100%;height:100%;object-fit:contain}.card .text{padding:18px}.badge{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--purple);font-weight:750}.card h3{font:21px/1.25 Georgia,serif;margin:8px 0 12px}.card p{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0}.card .open{color:var(--purple);border:0;background:none;padding:0;font-size:12px;font-weight:700}.tag{display:inline-block;background:#eee8f7;color:#533a80;padding:3px 8px;border-radius:4px;font-size:11px;margin:0 5px 5px 0}.snippet{max-height:57px;overflow:hidden}.person{border:1px solid var(--line);border-radius:8px;background:white;padding:18px;text-align:left;display:flex;flex-direction:column;gap:6px;color:var(--ink)}.person strong{font:21px Georgia,serif}.person span{font-size:12px;color:var(--muted)}.person:hover{border-color:var(--purple);background:#f3eff9}#suggestions{display:flex;gap:8px;flex-wrap:wrap}#suggestions button{border:1px solid #d4c7e7;color:var(--purple);background:white;padding:9px 14px;border-radius:24px;font-size:13px}#person-summary{background:#eee8f6;border-left:4px solid var(--purple);padding:24px 28px;border-radius:4px;margin-bottom:20px}#person-summary h2{font-size:34px}#person-summary p{margin:8px 0;font-size:13px;color:#61526f}#person-summary button{background:none;border:0;color:var(--purple);padding:0;font-size:12px;text-decoration:underline}#more{display:block;margin:30px auto 0;border:1px solid var(--line);background:white;border-radius:5px;padding:12px 25px;color:var(--purple)}[hidden],#more[hidden]{display:none!important}.empty{grid-column:1/-1;background:white;padding:40px;border:1px dashed #cbbfdb;border-radius:8px;text-align:center;color:var(--muted)}footer{border-top:1px solid var(--line);padding:35px max(24px,6vw);display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:40px;font-size:12px;color:var(--muted);background:white}footer strong{font:23px Georgia,serif;color:var(--purple)}footer p{margin:8px 0}dialog{border:0;border-radius:10px;padding:0;width:1500px;max-width:96vw;max-height:95vh;background:#f8f7fb}dialog::backdrop{background:#171020df}.viewerbar{display:flex;gap:8px;align-items:center;padding:12px;flex-wrap:wrap}.viewerbar strong{flex:1;font-size:14px}.viewerbar button,.viewerbar a{border:1px solid var(--line);background:white;padding:8px 12px;border-radius:5px;color:var(--purple);font-size:12px;text-decoration:none}#viewnote{padding:9px 16px;margin:0;background:#eae4f3;font-size:12px;color:#564568}#viewbody{overflow:auto;max-height:76vh;background:#ddd7e5;padding:10px;text-align:center}#viewimage{max-width:100%;max-height:71vh;object-fit:contain}#viewbody.zoom #viewimage{max-width:none;max-height:none;width:3200px}#viewbody.zoom{text-align:left}@media(max-width:700px){header{padding-bottom:60px}nav{padding:18px 0}nav>a:last-child{display:none}.brand img{width:50px;height:50px}.hero{grid-template-columns:1fr;gap:20px;margin-top:35px}.cover{display:none}.hero p{font-size:15px}.stats{gap:25px}.search-panel{padding:21px 18px}.search-foot{align-items:start;flex-direction:column}.search-foot button{padding:0}.toolbar{gap:12px}.toolbar a{margin-left:0}.tabs button{padding:10px 12px}#grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}.results-heading{align-items:start;flex-direction:column;gap:5px}footer{grid-template-columns:1fr;gap:20px}.viewerbar strong{flex-basis:100%}.collection{padding-left:18px;padding-right:18px}h1{font-size:46px}#person-summary{padding:20px}.search-row button{padding:0 12px}}
/* Book reader */
.read-book{background:var(--purple);color:white;border:0;border-radius:7px;padding:13px 18px;font-size:13px;font-weight:700;box-shadow:0 4px 10px #614a901f}.card-image{position:relative}.card-zoom{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:5px;background:#ffffffef;color:var(--purple);border:1px solid #d8cde6;border-radius:6px;padding:6px 10px;font-size:15px;box-shadow:0 2px 8px #29213715}.card-zoom span{font-size:11px;font-weight:700}.reader-open{overflow:hidden}#viewer{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:1800px;max-height:none;background:#f8f6fc;overflow:hidden}#viewer[open]{display:flex;flex-direction:column}#viewer .viewerbar{flex:none;border-bottom:1px solid var(--line);gap:7px}#viewer .viewerbar strong{min-width:180px}#reading-order{font:12px system-ui;border:1px solid var(--line);background:white;color:var(--purple);border-radius:5px;padding:8px;max-width:145px}.book-stage{position:relative;flex:1;min-height:100px;background:radial-gradient(ellipse at 50% 35%,#72647f,#30263f 90%);overflow:hidden}#viewbody{position:absolute;inset:0;max-height:none;overflow:hidden;padding:0;background:transparent;text-align:left;touch-action:none;user-select:none;cursor:zoom-in}#viewbody.zoom{cursor:grab}#viewbody.dragging{cursor:grabbing}#viewimage,#viewbody.zoom #viewimage{position:absolute;left:50%;top:50%;max-width:none;max-height:none;object-fit:fill;transform-origin:center;user-select:none;-webkit-user-drag:none;box-shadow:0 10px 35px #0008;will-change:transform;pointer-events:none}#flip-overlay{position:absolute;left:50%;top:50%;perspective:1600px;pointer-events:none;z-index:2}.still-page,.turning-leaf{position:absolute;top:0;height:100%;width:50%}.still-page,.leaf-front,.leaf-back{background-size:200% 100%;background-repeat:no-repeat}.forward .still-page{left:0}.backward .still-page{right:0}.turning-leaf{transform-style:preserve-3d}.forward .turning-leaf{left:50%;transform-origin:left center}.backward .turning-leaf{left:0;transform-origin:right center}.leaf-front,.leaf-back{position:absolute;inset:0;backface-visibility:hidden;box-shadow:0 0 20px #0004}.leaf-back{transform:rotateY(180deg)}.leaf-front:after,.leaf-back:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0002,transparent 30%,#0001)}.page-edge{position:absolute;z-index:3;top:50%;transform:translateY(-50%);border:1px solid #ffffff30;border-radius:50%;background:#2b213bcc;color:white;width:44px;height:52px;font:38px/1 Georgia,serif;box-shadow:0 3px 16px #0003}.page-edge.previous{left:12px}.page-edge.next{right:12px}.page-edge:hover{background:var(--purple)}button:disabled{cursor:default;opacity:.4}.page-edge:disabled{opacity:.2}.reader-bottom{display:flex;align-items:center;gap:18px;padding:13px 20px 5px;flex:none;color:var(--purple);font-size:12px}.reader-bottom #page-position{min-width:190px}.reader-bottom input{accent-color:var(--purple);min-width:50px;flex:1;cursor:pointer}.reader-bottom #zoom-level{min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.reader-help{margin:5px 20px 12px;color:var(--muted);font-size:11px;text-align:center;flex:none}#reader-status{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);max-width:80%;border-radius:8px;padding:14px 20px;background:#fff;color:var(--purple);font-size:14px;box-shadow:0 4px 25px #0003}#viewnote{flex:none}#viewer #viewnote:empty{display:none}@media(max-width:700px){#viewer{width:100vw;height:100dvh;max-width:none;margin:0;border-radius:0}#viewer .viewerbar{padding:8px;gap:5px}#viewer .viewerbar strong{flex-basis:calc(100% - 75px);font-size:12px;min-width:0}#viewer #close{order:-1}#viewer .viewerbar button,#viewer .viewerbar a{padding:7px 9px}#reading-order{max-width:145px;font-size:11px;padding:7px}.reader-bottom{padding:10px 12px 4px;gap:10px;flex-wrap:wrap}.reader-bottom #page-position{min-width:0;flex:1;flex-basis:70%}.reader-bottom input{order:3;flex-basis:100%}.reader-help{margin:6px 15px 10px;font-size:10px}.page-edge{width:33px;height:43px;font-size:30px}.page-edge.previous{left:5px}.page-edge.next{right:5px}.read-book{width:100%}}
