@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
.metadata-preview{display:flex;align-items:center;gap:14px;background:#eee8de;border:1px solid #d8d0c5;padding:10px;margin:18px 0 10px}.metadata-preview img{width:54px;height:76px;object-fit:cover;background:#ddd}.metadata-preview div{min-width:0}.metadata-preview small{display:block;color:#bd172c;font-size:8px;font-weight:700;letter-spacing:.16em;margin-bottom:6px}.metadata-preview strong{font:700 16px/1.25 'Playfair Display',serif;display:block}
.save-button{background:#191715}
.metadata-preview p{font-size:10px;line-height:1.5;color:#746f68;margin:7px 0 0}.copy-badge{position:absolute;left:8px;top:8px;background:#171514;color:#fff;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:700}.book-details{font-size:10px!important;line-height:1.45;color:#8b857d!important;margin-top:7px!important}.book-menu{width:min(360px,calc(100% - 28px))}.book-menu>div{padding:28px}.book-menu h3{font:700 24px 'Playfair Display',serif;margin:0}.book-menu p:not(.eyebrow){font-size:12px;color:#746f68}.book-menu button{display:block;width:100%;height:45px;margin-top:9px;border:1px solid #d8d0c5;background:#fff;font:600 12px 'DM Sans';cursor:pointer}.book-menu button:first-of-type{background:#191715;color:#fff;border-color:#191715}.book-menu button.danger{color:#bd172c}
.password-dialog{width:min(420px,calc(100% - 28px));text-align:center}.password-dialog::backdrop{background:#100e0ded;backdrop-filter:blur(8px)}.password-dialog form{padding:44px 38px}.password-mark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 25px;border:2px solid #191715;font:italic 24px 'Playfair Display',serif;transform:rotate(-3deg)}.password-dialog .eyebrow{margin-bottom:8px}.password-dialog h2{font:700 32px 'Playfair Display',serif;margin:0}.password-dialog form>p:not(.eyebrow):not(.form-error){font-size:13px;color:#746f68;line-height:1.5;margin:13px 0 25px}.password-dialog label{text-align:left}.password-dialog input{text-align:center;font-size:20px;letter-spacing:.18em}.password-dialog .form-error{height:20px}
.book-card,.cover-wrap,.cover-wrap img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.cover-wrap img{pointer-events:none}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{width:100%;overflow-x:hidden}@media(max-width:680px){input,select,textarea,.search input,dialog input,dialog select{font-size:16px!important}dialog{max-width:calc(100vw - 28px)} }
:root{--ink:#191715;--paper:#f3efe7;--red:#bd172c;--muted:#746f68;--line:#d8d0c5;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.topbar{height:84px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,76px);position:sticky;top:0;z-index:20;box-shadow:0 5px 20px #0002}.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;font-family:'Playfair Display',serif;font-size:16px;letter-spacing:.06em;line-height:1}.brand small{font-family:'DM Sans';font-size:8px;letter-spacing:.25em;color:#b8b3ac}.brand-mark{width:43px;height:43px;border:2px solid #fff;display:grid;place-items:center;font-style:italic;font-size:18px;transform:rotate(-3deg)}.header-actions{display:flex;align-items:center;gap:12px}.connection{font-size:12px;color:#bbb;display:flex;align-items:center;gap:7px;margin-right:10px}.connection i{width:7px;height:7px;border-radius:50%;background:#65bb7b;box-shadow:0 0 0 3px #65bb7b22}.connection.offline i{background:#df8b37}.sync-button,.add-button{border:1px solid #4a4642;border-radius:3px;background:transparent;color:#fff;height:40px;padding:0 17px;font:600 12px 'DM Sans';letter-spacing:.04em;cursor:pointer}.sync-button span{font-size:17px;margin-right:5px}.sync-button.syncing span{display:inline-block;animation:spin .8s linear infinite}.sync-button b{display:inline-grid;place-items:center;background:var(--red);border-radius:20px;min-width:18px;height:18px;margin-left:5px}.add-button{background:var(--red);border-color:var(--red)}.add-button span{font-size:17px}.hero{padding:76px clamp(22px,8vw,130px) 64px;background:radial-gradient(circle at 78% 0,#b69b8220 0,transparent 30%),linear-gradient(140deg,#f7f3ec,#eee8de)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.28em;color:var(--red);margin:0 0 16px}.hero h1{font:700 clamp(48px,7vw,88px)/.95 'Playfair Display',serif;letter-spacing:-.045em;margin:0;max-width:850px}.hero h1 em{color:var(--red)}.intro{color:var(--muted);font-size:16px;margin:26px 0 31px}.search{max-width:720px;height:61px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;padding:0 18px;gap:13px;box-shadow:0 12px 35px #473c2e12}.search>span{font-size:27px;line-height:1;transform:rotate(-20deg)}.search input{flex:1;border:0;outline:0;font:14px 'DM Sans';background:transparent;min-width:0}.search kbd{font:10px 'DM Sans';color:#999;border:1px solid #ddd;border-radius:3px;padding:5px 7px;background:#f6f4f0}.library{padding:55px clamp(22px,5vw,76px) 100px;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2,.dialog-head h2{font:700 34px 'Playfair Display',serif;margin:0}.section-heading>p{font-size:12px;color:var(--muted)}.filters{display:flex;gap:8px;overflow:auto;padding:25px 0 31px;scrollbar-width:none}.filter{white-space:nowrap;border:1px solid var(--line);background:transparent;padding:9px 15px;border-radius:30px;color:#625d57;font:600 11px 'DM Sans';cursor:pointer}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:37px 24px}.book-card{min-width:0}.cover-wrap{position:relative;aspect-ratio:600/860;background:#ddd;box-shadow:3px 8px 17px #31291f38;transition:.25s transform,.25s box-shadow;overflow:hidden}.book-card:hover .cover-wrap{transform:translateY(-7px) rotate(-.5deg);box-shadow:6px 15px 25px #31291f44}.cover-wrap img{width:100%;height:100%;object-fit:cover;display:block}.pending-badge{position:absolute;right:8px;top:8px;background:#f6ecda;color:#76571f;border-radius:3px;padding:5px 8px;font-size:9px;font-weight:700;letter-spacing:.09em}.book-meta{padding-top:14px}.book-collection{font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--red)}.book-meta h3{font:700 17px/1.2 'Playfair Display',serif;margin:6px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-meta p{font-size:11px;color:var(--muted);margin:0}.empty{text-align:center;padding:80px 10px;color:var(--muted)}.empty>span{display:inline-grid;place-items:center;width:65px;height:65px;border:1px solid var(--line);border-radius:50%;font:italic 32px 'Playfair Display'}.empty h3{font:24px 'Playfair Display';color:var(--ink);margin:15px 0 5px}.empty p{font-size:13px}dialog{border:0;padding:0;background:#f8f4ed;color:var(--ink);width:min(500px,calc(100% - 28px));box-shadow:0 30px 90px #0007}dialog::backdrop{background:#151311cc;backdrop-filter:blur(3px)}dialog form{padding:34px}.dialog-head{display:flex;justify-content:space-between}.dialog-head .eyebrow{margin-bottom:7px}.close{border:0;background:transparent;font-size:30px;color:#777;cursor:pointer;align-self:flex-start}.dialog-copy{color:var(--muted);font-size:13px;line-height:1.6;margin:17px 0 24px}dialog label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;margin:15px 0}dialog label small{float:right;color:#999;font-weight:400;letter-spacing:0}dialog input,dialog select{width:100%;height:49px;border:1px solid var(--line);background:#fff;padding:0 13px;margin-top:8px;font:14px 'DM Sans';border-radius:2px}.submit-button{width:100%;height:51px;border:0;background:var(--red);color:#fff;font:700 12px 'DM Sans';letter-spacing:.06em;margin-top:8px;cursor:pointer}.form-error{min-height:18px;color:var(--red);font-size:12px;margin:8px 0 0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:3px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:680px){.topbar{height:72px;padding:0 16px}.brand{font-size:13px}.brand-mark{width:37px;height:37px}.connection,.sync-button{font-size:0;margin:0;padding:0;width:40px}.sync-button span{font-size:19px;margin:0}.sync-button b{font-size:9px;position:absolute}.add-button{padding:0 12px}.add-button{font-size:0}.add-button span{font-size:20px}.hero{padding:53px 21px 45px}.hero h1{font-size:48px}.search kbd{display:none}.library{padding:42px 19px 70px}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 15px}.book-meta h3{font-size:15px}.section-heading h2{font-size:29px}}
