:root{color:#172027;background:#eef3f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;--bg: #eef3f5;--surface: #f8fafb;--surface-soft: rgba(248, 250, 251, .82);--surface-muted: #e3eaee;--text: #172027;--muted: #65737d;--line: rgba(23, 32, 39, .14);--primary: #315f70;--primary-text: #f8fbfc;--danger: #8f3f4a;--reader-bg: #111820;--reader-text: #eff5f7;--reader-muted: #b7c5cc}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:1px solid var(--line);background:var(--surface-soft);color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6a9aad;outline-offset:3px}.app{min-height:100vh}.topbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1rem clamp(1rem,4vw,3rem);position:sticky;top:0;z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#eef3f5d1}.brand{border:0;background:transparent;font-family:Georgia,serif;font-size:1.35rem}nav{display:flex;gap:.5rem}nav button,.readerBar button,.chips button,.photoEdit button,.segmented button{border-radius:999px;padding:.55rem .85rem}.active,.selected{background:var(--primary);color:var(--primary-text)}.home,.importPanel,.studio,.studioEmpty{padding:clamp(1rem,4vw,3rem)}.drop p,.textPage p,.coverPage p{color:var(--muted);letter-spacing:0;margin:0 0 .75rem;text-transform:uppercase}.shelfHeader h1,.drop h1,.textPage h1,.coverPage h1{font-family:Georgia,serif;font-size:clamp(2rem,6vw,4.6rem);font-weight:500;line-height:1;margin:0 0 1.5rem;max-width:920px}.shelfHeader button,.primary,.fileButton{align-items:center;background:var(--primary);border-radius:999px;color:var(--primary-text);display:inline-flex;justify-content:center;min-height:48px;padding:.8rem 1.1rem;width:fit-content}.shelf h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.shelfHeader{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:clamp(1.5rem,5vw,3rem)}.shelfHeader h1{margin:0}.shelf{display:grid;gap:1.5rem}.shelfRow{display:grid;gap:.75rem}.shelfRow h3{color:var(--muted);font-size:.95rem;font-weight:500;margin:0}.bookGrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.bookCard{aspect-ratio:4 / 5;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-rows:1fr auto;padding:1.1rem;text-align:left}.bookOpen{background:transparent;border:0;display:grid;padding:0;text-align:left}.bookCard strong{align-self:end;font-family:Georgia,serif;font-size:1.6rem;font-weight:500}.bookActions{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.9rem}.bookActions button{border-radius:999px;min-height:36px}.bookCard small,.bookCard span,.empty p,.drop span,.status{color:var(--muted)}.empty,.drop{border:1px dashed var(--line);border-radius:8px;padding:clamp(1.5rem,6vw,4rem)}.drop{min-height:54vh;display:grid;align-content:center;justify-items:start}.fileButton{margin-top:1.5rem}.importActions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.importActions .fileButton{margin-top:0}.fileButton.secondary{background:var(--surface);border-color:var(--line);color:var(--text)}.fileButton input{inline-size:1px;opacity:0;position:absolute}.studio{display:grid;gap:1.5rem;grid-template-columns:minmax(260px,340px) 1fr}.composer{align-self:start;display:grid;gap:1rem;position:sticky;top:5.5rem}.storageSummary{align-items:end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:.75rem}.storageSummary span{color:var(--muted)}.storageSummary strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:500}.recipePreview{display:flex;flex-wrap:wrap;gap:.45rem}.recipePreview span{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.84rem;padding:.38rem .58rem}.composer label{display:grid;gap:.4rem}.segmented{border:0;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}.segmented legend{color:var(--muted);flex-basis:100%;margin-bottom:.15rem}.composer input,.composer select,.photoEdit input{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:.7rem .8rem;width:100%}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.titleSuggestions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:-.35rem}.titleSuggestions button{border-radius:999px;color:var(--text);font-size:.86rem;padding:.45rem .65rem}.dateRange{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.recipeActions{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.recipeActions button{border-radius:8px;min-height:40px}.photoStrip{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.photoEdit{display:grid;gap:.6rem}.photoEdit img{aspect-ratio:4 / 3;border-radius:8px;height:auto;object-fit:cover;width:100%}.photoEdit div{display:grid;gap:.5rem}.photoActions{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr))}.quietDanger{color:var(--danger)}.tagEditor{display:grid;gap:.45rem;grid-template-columns:1fr auto}.miniTags,.miniMeta{color:var(--muted);font-size:.82rem;margin:0;overflow-wrap:anywhere}.miniMeta{color:#476f7c}.reader{background:var(--reader-bg);color:var(--reader-text);min-height:100vh;overflow:hidden;padding:4.8rem clamp(1rem,3vw,2rem) 2rem;position:relative}.readerBar{align-items:center;display:flex;gap:.75rem;justify-content:space-between;left:1rem;position:fixed;right:1rem;top:1rem;z-index:3}.readerBar span{color:var(--reader-muted);font-size:.9rem}.coverPage,.textPage,.singlePhoto,.photoGroup{min-height:calc(100vh - 7rem)}.coverPage{display:grid;gap:clamp(1rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);place-items:center}.coverPage img,.singlePhoto img,.photoGroup img{border-radius:8px;max-height:calc(100vh - 9rem);object-fit:contain;width:100%}.coverPage div{justify-self:start}.textPage{display:grid;place-content:center;text-align:center}.textPage span{color:var(--reader-muted);font-size:1.1rem}.recordPage dl{display:grid;gap:.9rem;margin:0 auto;width:min(420px,80vw)}.recordPage dl div{align-items:baseline;border-bottom:1px solid rgba(239,245,247,.14);display:grid;gap:1rem;grid-template-columns:5rem minmax(0,1fr);padding:.7rem 0;text-align:left}.recordPage dt{color:var(--reader-muted)}.recordPage dd{margin:0}.relatedBooks{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:2rem;max-width:680px;width:min(680px,90vw)}.relatedBooks button{background:#eff5f714;border-color:#eff5f72e;border-radius:8px;color:var(--reader-text);display:grid;gap:.35rem;padding:.9rem;text-align:left}.relatedBooks small{color:var(--reader-muted);text-transform:uppercase}.relatedBooks strong{font-family:Georgia,serif;font-size:1.05rem;font-weight:500}.singlePhoto{display:grid;gap:1rem;place-items:center}.singlePhoto.whiteMargin{background:#edf3f6;color:var(--text);padding:clamp(1rem,5vw,4rem)}.singlePhoto.photoWithCaption{grid-template-columns:minmax(0,.9fr) minmax(220px,.45fr);justify-content:center;margin-inline:auto;max-width:1080px}.singlePhoto.photoWithCaption p{align-self:center;border-left:1px solid rgba(239,245,247,.24);padding-left:clamp(1rem,3vw,2rem)}.singlePhoto.fullPhoto img{max-height:calc(100vh - 8rem)}.singlePhoto p{color:inherit;margin:0;opacity:.78}.photoGroup{display:grid;gap:1rem;place-content:center}.photoGroup h2{color:var(--reader-muted);font-family:Georgia,serif;font-size:1rem;font-weight:500;margin:0;text-align:center}.photoGroup div{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px}.contactSheet div{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}nav{overflow-x:auto;width:100%}.studio,.coverPage{grid-template-columns:1fr}.composer{position:static}.photoGroup div,.singlePhoto.photoWithCaption{grid-template-columns:1fr}.singlePhoto.photoWithCaption p{border-left:0;padding-left:0}.reader{padding-inline:.75rem}}
