@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
.passwordDialog{text-align:center;width:min(420px,calc(100vw - 28px))}.passwordDialog::backdrop{background:#081012ed;backdrop-filter:blur(8px)}.passwordDialog form{padding:43px 37px}.passwordMark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 24px;border:2px solid #121a1c;font:700 22px 'Playfair Display';transform:rotate(-3deg)}.passwordDialog h2{font:700 30px 'Playfair Display';margin:0}.passwordDialog form>p:not(.kicker):not(.error){font-size:13px;color:#716f69;line-height:1.5}.passwordDialog input{text-align:center;letter-spacing:.16em;font-size:19px}
:root{--ink:#121a1c;--paper:#f3f0e8;--teal:#147b78;--muted:#716f69;--line:#d8d3c8}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans';overflow-x:hidden}header{height:78px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(18px,5vw,70px);position:sticky;top:0;z-index:10}.brand{font:700 20px 'Playfair Display';color:#fff;text-decoration:none;letter-spacing:.08em}.brand span{color:#50b7ad}header>div{display:flex;align-items:center;gap:10px}button{cursor:pointer}header button,.split button{height:40px;border:1px solid #ffffff30;background:transparent;color:inherit;padding:0 15px}button.primary,.primary{background:var(--teal);border-color:var(--teal);color:#fff}#online{font-size:11px;color:#8fc2b8}#pending{background:#d35454;border-radius:20px;padding:2px 5px}.hero{padding:65px clamp(20px,8vw,120px) 50px;background:linear-gradient(135deg,#f8f5ee,#e7e3d8)}.kicker{font-size:9px;letter-spacing:.25em;font-weight:700;color:var(--teal);margin:0 0 12px}.hero h1{font:700 clamp(47px,7vw,82px)/.95 'Playfair Display';margin:0}.hero em{color:var(--teal)}.hero>p:not(.kicker){color:var(--muted)}.search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);max-width:650px;height:56px;padding:0 17px;margin-top:28px;font-size:26px}.search input{border:0;outline:0;flex:1;font:14px 'DM Sans';min-width:0}.shelf{padding:46px clamp(18px,5vw,70px) 90px}.sectionTitle{display:flex;align-items:end;gap:20px;margin-bottom:27px}.sectionTitle h2,dialog h2{font:700 32px 'Playfair Display';margin:0}.sectionTitle #count{margin-left:auto;color:var(--muted);font-size:12px}.sectionTitle #back{border:0;background:transparent;color:var(--teal)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:34px 22px}.card{min-width:0;-webkit-touch-callout:none;user-select:none}.cover{aspect-ratio:2/3;background:#d8d3c8;box-shadow:4px 9px 18px #2b282330;position:relative;overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover;pointer-events:none}.cover.placeholder{display:grid;place-items:center;background:linear-gradient(150deg,var(--color,#147b78),#182528);color:#fff;font:700 30px 'Playfair Display';padding:15px;text-align:center}.badge{position:absolute;top:7px;left:7px;background:var(--ink);color:#fff;border-radius:20px;padding:4px 7px;font-size:9px}.meta{padding-top:13px}.meta small{color:var(--teal);font-size:9px;font-weight:700;letter-spacing:.12em}.meta h3{font:700 16px 'Playfair Display';white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0}.meta p{font-size:10px;color:var(--muted);margin:0;line-height:1.45}.empty{text-align:center;color:var(--muted);padding:70px}.empty h3{font:25px 'Playfair Display';color:var(--ink)}dialog{border:0;background:#f8f5ee;width:min(500px,calc(100vw - 28px));padding:0;box-shadow:0 30px 90px #0007}dialog::backdrop{background:#111b;backdrop-filter:blur(4px)}dialog form,dialog>div{padding:32px}.dialogHead{display:flex;justify-content:space-between}.dialogHead>button{border:0;background:none;font-size:28px}dialog label{display:block;font-size:11px;font-weight:700;margin:14px 0}dialog label small{float:right;color:#999;font-weight:400}dialog input{display:block;width:100%;height:47px;margin-top:7px;border:1px solid var(--line);padding:0 12px;font:16px 'DM Sans'}.split{display:flex;gap:8px}.split button{flex:1;color:var(--ink);border-color:var(--line)}.split .primary{color:#fff}.error{color:#b52b3c;font-size:11px;min-height:16px}.preview{display:flex;gap:13px;align-items:center;background:#eae6dc;padding:9px}.preview img{width:54px;height:75px;object-fit:cover}.preview small{display:block;color:var(--teal);font-size:8px}.preview strong{font:700 16px 'Playfair Display'}.save{width:100%;height:50px;background:var(--teal);color:#fff;border:0;margin-top:10px}#scanner video{width:100%;background:#111;min-height:250px}#scanner{text-align:center}#menu button,#scanner button{display:block;width:100%;height:44px;margin-top:8px}#menu #delete{color:#b52b3c}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,30px);background:var(--ink);color:#fff;padding:11px 16px;opacity:0;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:650px){header{height:68px;padding:0 14px}#online{display:none}header button{font-size:0;width:40px;padding:0}header button:first-of-type{font-size:0}header button::first-letter{font-size:18px}.hero{padding:45px 19px}.hero h1{font-size:46px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 14px}.shelf{padding:38px 17px 70px}.search input{font-size:16px}.sectionTitle{flex-wrap:wrap}}
