#album-library{--album-cream:#f5efdf;--album-forest:#294d40;--album-gold:#c8ae77;padding-bottom:30px}
.album-library-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:12px 0 36px}.album-library-heading h1{font-size:clamp(48px,6vw,76px);letter-spacing:-2px;margin:7px 0 14px}.album-kicker{font-size:10px;letter-spacing:.22em;font-weight:600;color:#7f897b}.album-library-heading>div>p:last-child{font-size:16px;color:#7b8075}.album-text-link{font-size:12px;border-bottom:1px solid #a6b09c;padding:8px 0;white-space:nowrap}.album-local-note{font-size:11px;margin:-14px 0 24px;color:#7c8177}
.album-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:40px 34px}.album-tile{display:block;min-width:0;perspective:1000px}.album-cover{height:365px;position:relative;border-radius:3px 9px 9px 3px;background:var(--album-cover-colour,#344e43);box-shadow:inset 12px 0 15px #13291e55,inset -1px 0 1px #ffffff33,4px 7px 0 -2px #e6decc,7px 12px 22px #28352822;color:#ede7d6;padding:30px 23px 20px 33px;display:flex;flex-direction:column;align-items:center;gap:18px;transition:transform .35s,box-shadow .35s}.album-cover::before,.album-book-cover::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:.25;background:repeating-linear-gradient(0deg,#ffffff0a 0px,#ffffff0a 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,#00000014 0px,#00000014 1px,transparent 1px,transparent 3px)}.album-cover::after{content:'';position:absolute;left:15px;top:0;bottom:0;width:2px;background:#10271944;box-shadow:1px 0 #ffffff18}.album-tile:hover .album-cover{transform:translateY(-6px) rotateY(-3deg);box-shadow:inset 12px 0 15px #13291e55,4px 7px 0 -2px #e6decc,9px 17px 25px #2835282a}.album-cover-label{text-align:center;min-height:88px;display:flex;flex-direction:column;justify-content:center}.album-cover-label>span{font-size:9px;letter-spacing:.12em;opacity:.7}.album-cover-label h2{font-size:26px;line-height:1.18;margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.album-cover>img{width:100%;height:150px;object-fit:cover;filter:saturate(.8);border:5px solid #e7dfc9;box-shadow:0 2px 6px #0003}.album-cover-bottom{margin-top:auto;letter-spacing:.3em;font-size:8px;color:#d7c393}.album-tone-1{--album-cover-colour:#775746}.album-tone-2{--album-cover-colour:#4e616b}.album-tone-3{--album-cover-colour:#6f6651}.album-tile-meta{display:flex;justify-content:space-between;margin-top:20px;color:#7c8274;font-size:11px}.album-demo-link{display:flex;align-items:center;gap:18px;padding:20px 0;margin-top:34px;border-top:1px solid #d9ddcf;max-width:540px}.album-demo-link img{width:74px;height:54px;object-fit:cover;filter:saturate(.6)}.album-demo-link strong,.album-demo-link small{display:block}.album-demo-link strong{font-size:14px;font-weight:500}.album-demo-link small{font-size:11px;color:#7f8778}.album-demo-link>span:last-child{margin-left:auto}.album-loading{padding:60px 0}
body.album-reading .reading-breadcrumb,body.album-reading .reading-footer{display:none}body.album-reading #main.reading-main{max-width:1500px;padding-top:12px}body.album-reading{background:#e9ece3}.album-reader-heading{display:grid;grid-template-columns:1fr minmax(0,3fr) 1fr;align-items:center;gap:16px;margin:0 0 18px}.album-reader-heading h1{font-size:clamp(22px,2.5vw,34px);text-align:center;line-height:1.2;overflow-wrap:anywhere}.album-reader-heading p{text-align:center;font-size:11px;margin-top:5px}.album-back{font-size:13px;width:fit-content;padding:10px 0}.album-tool{font-size:12px;padding:9px 13px;border:1px solid #c8cfc0;border-radius:6px;justify-self:end;background:#f5f6ef;white-space:nowrap}.album-stage{width:100%;display:flex;align-items:center;justify-content:center;min-height:300px;filter:drop-shadow(0 12px 12px #2d352320)}#album-book{margin:auto}.album-leaf{background:#f5efdf;overflow:hidden}.album-paper{height:100%;padding:6% 7% 3%;background:linear-gradient(90deg,#c8bda324,transparent 7%,transparent 94%,#c8bda31c),#f5efdf;display:flex;flex-direction:column;gap:3%;border:1px solid #dcd2bd;overflow:hidden}.album-paper>header{display:flex;justify-content:space-between;font-size:clamp(8px,1vw,11px);line-height:1.3;gap:8px;letter-spacing:.06em;color:#8a8778;flex-shrink:0}.album-paper>header>span:last-child{text-align:right}.album-photo-layout{display:grid;gap:5%;flex:1;min-height:0;align-items:center}.album-photo-layout figure{margin:0;min-width:0;min-height:0;max-height:100%;height:100%;display:flex;flex-direction:column;justify-content:center}.album-photo{padding:0;display:flex;align-items:center;justify-content:center;min-height:0;flex:1;cursor:zoom-in;touch-action:pan-y}.album-photo img{width:100%;height:100%;min-height:0;object-fit:contain;filter:drop-shadow(0 2px 3px #3c38242a)}.album-photo-layout figcaption{font:italic clamp(11px,1.2vw,16px)/1.4 Georgia,serif;color:#706953;margin-top:8px;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.photos-1{grid-template:1fr/1fr}.photos-2{grid-template:1fr 1fr/1fr}.photos-3{grid-template:1fr 1fr/1fr 1fr}.photos-3 figure:first-child{grid-column:1/-1}.photos-4{grid-template:1fr 1fr/1fr 1fr}.album-handnote{font:italic clamp(12px,1.4vw,19px)/1.4 Georgia,serif;white-space:pre-wrap;color:#766d54;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.album-paper footer{display:flex;justify-content:center;color:#a89d84;font-size:10px;flex-shrink:0}.original-page{padding:3%}.original-page .album-photo-layout{gap:0}.original-page>header{font-size:9px}.original-page .album-photo img{filter:none}.original-page .album-handnote{font-size:12px}.album-book-cover{background:var(--album-cover-colour,#344e43)!important;color:#e8dfc9;border-radius:3px 7px 7px 3px;box-shadow:inset 14px 0 20px #142d2155}.book-cover-inner{height:100%;padding:12% 12% 9% 14%;display:flex;flex-direction:column;align-items:center;gap:6%;text-align:center;border:1px solid #ffffff12}.book-cover-inner>p,.album-end p{font-size:10px;letter-spacing:.28em;color:#cabb91}.book-cover-inner h2{font-size:clamp(23px,3vw,42px);color:#f0e8d3;overflow-wrap:anywhere}.book-cover-inner img{width:100%;min-height:0;flex:1;object-fit:cover;border:7px solid #e6ddc8;box-shadow:0 3px 8px #0003}.book-cover-inner>span{font-size:12px;color:#cfbf98}.album-end>div{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px;padding:12%}.album-end h2{color:#e8dfc9;font-size:35px}.album-end span{font-size:12px}.album-restart{color:#e0d4b4;font-size:12px;border-bottom:1px solid #b3a689;padding:10px 0}.album-reader-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin:18px 0 5px}.album-turn{width:44px;height:44px;border:1px solid #c8cfc0;background:#f5f6ef;border-radius:50%;font-size:22px;line-height:1}.album-turn:disabled{opacity:.3;cursor:default}#album-position{font-size:12px;min-width:145px;text-align:center;font-variant-numeric:tabular-nums;color:#73806c}#album-overview{display:flex;gap:12px;overflow-x:auto;padding:14px;margin-bottom:18px;background:#dde2d6;border-radius:9px}.album-page-thumb{flex:none;width:88px;font-size:10px;padding:5px;border:1px solid transparent;border-radius:5px}.album-page-thumb img{height:90px;width:100%;object-fit:contain}.album-page-thumb span{display:block;margin-top:5px}.album-page-thumb[aria-current=true]{border-color:#6e856b;background:#f4f2e6}
.album-photo-dialog{width:min(1450px,96vw);height:94dvh;max-width:none;max-height:none;margin:auto;padding:14px 20px;border:0;border-radius:10px;background:#171c18;color:#e4e9df;overflow:hidden}.album-photo-dialog[open]{display:flex;flex-direction:column;gap:12px}.album-photo-dialog::backdrop{background:#141d17e8}.album-photo-top{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:12px}.album-photo-top>span{flex:1;color:#b7c1b0}.album-zoom-close{color:#e4e9df;font-size:30px;width:40px;height:40px}.album-photo-canvas{position:relative;min-width:0;min-height:0;flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center}.album-photo-canvas img{width:100%;height:100%;object-fit:contain;max-width:none}.album-photo-caption{flex-shrink:0;max-height:20vh;overflow:auto;font-size:14px;text-align:center}.album-photo-caption p{color:#d4d8cc;white-space:pre-wrap}.album-photo-caption .album-page-memory{font:italic 16px/1.5 Georgia,serif;color:#b7bea8;margin-top:5px}
@media(max-width:700px){.album-library-heading{align-items:start;gap:12px;flex-direction:column;margin-top:0}.album-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.album-cover{height:290px;padding:20px 14px 16px 24px;gap:12px}.album-cover-label{min-height:78px}.album-cover-label h2{font-size:20px}.album-cover>img{height:115px}.album-cover-label>span{font-size:8px}.album-tile-meta{font-size:10px}.album-reader-heading{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.album-reader-heading h1{font-size:20px}.album-reader-heading p{font-size:10px}.album-tool{font-size:10px;padding:8px}.album-back span{display:none}.album-paper>header{font-size:9px}.album-handnote{font-size:14px}.album-photo-layout figcaption{font-size:13px}.album-photo-dialog{padding:8px;height:96dvh}.album-reader-controls{gap:20px}.book-cover-inner h2{font-size:30px}.album-local-note{font-size:10px}}
@media(max-width:380px){.album-shelf{grid-template-columns:1fr}.album-cover{height:355px}.album-cover>img{height:150px}.album-reader-heading h1{font-size:17px}.album-tool{max-width:80px;white-space:normal}.album-reader-controls{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.album-cover{transition:none}.album-tile:hover .album-cover{transform:none}}

#album-library [hidden]{display:none!important}

/* Stiff album leaves and a sewn binding, rather than flexible magazine paper. */
.album-paper{border-top:2px solid #e2d7bf;border-bottom:3px solid #d5c8aa}
.album-leaf.--left .album-paper{box-shadow:inset -16px 0 18px -15px #65553788;border-right:2px solid #b9ab8b}
.album-leaf.--right .album-paper{box-shadow:inset 16px 0 18px -15px #65553788;border-left:2px solid #b9ab8b}

body.album-reading #main.reading-main{max-width:none;width:calc(100% - clamp(32px,5vw,112px));margin-left:auto;margin-right:auto}

.album-photo{cursor:default}
.album-photo.over-photo{cursor:zoom-in}
.album-stage{position:relative}
.album-edge-turn{position:absolute;z-index:10;width:64px;display:flex;align-items:center;justify-content:center;color:#53634c;background:transparent;border:0;padding:0;cursor:pointer}
.album-edge-turn:focus-visible{outline:2px solid #6e856b;outline-offset:-4px;border-radius:6px}
.album-corner-turn{position:absolute;z-index:10;width:60px;height:60px;display:flex;align-items:center;justify-content:center;color:#53634c;background:transparent;border:0;cursor:pointer}
.album-corner-turn span{font-size:24px;line-height:1;opacity:0;transition:opacity .15s}
.album-corner-turn:hover span,.album-corner-turn.is-near span,.album-corner-turn:focus-visible span{opacity:1}
.album-stage:has(.album-edge-turn[data-direction="prev"]:is(:hover,:focus-visible)) .album-corner-turn[data-direction="prev"] span,
.album-stage:has(.album-edge-turn[data-direction="next"]:is(:hover,:focus-visible)) .album-corner-turn[data-direction="next"] span{opacity:1}
.album-stage:has(.album-corner-turn.is-near:not([hidden])),.album-stage:has(.album-corner-turn.is-near:not([hidden])) *{cursor:pointer}
.album-corner-turn:focus-visible{outline:2px solid #6e856b;outline-offset:-4px;border-radius:6px}
@media(hover:none){.album-corner-turn span{opacity:.6}}

.album-zoom-body{display:flex;align-items:stretch;gap:12px;flex:1;min-height:0}
.album-zoom-prev,.album-zoom-next{align-self:center;flex:none;width:40px;height:48px;font-size:28px;color:#e4e9df;border-radius:6px}
.album-zoom-prev:hover,.album-zoom-next:hover{background:#ffffff12}
.album-zoom-prev:disabled,.album-zoom-next:disabled{opacity:.25;cursor:default}
.album-photo-position{display:block;font-size:11px;color:#b7c1b0;margin-bottom:6px}
@media(max-width:700px){.album-zoom-body{gap:4px}.album-zoom-prev,.album-zoom-next{width:28px}}

.album-contributions{max-width:720px;margin:12px auto 0;text-align:left}
.album-contributions article{border-top:1px solid #ffffff20;padding:10px 0}
.album-contributions article strong{font-size:12px;color:#cabb91}
.album-contributions article p{font-size:14px;white-space:pre-wrap;margin-top:5px}
.album-contribution-editor summary{cursor:pointer;font-size:13px;color:#d6ddcf;padding:8px 0}
.album-contribution-editor form{display:grid;grid-template-columns:160px 1fr;gap:10px}
.album-contribution-editor label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b7c1b0}
.album-contribution-editor label:has(textarea),.album-contribution-editor form>div{grid-column:1/-1}
.album-contribution-editor input,.album-contribution-editor textarea{width:100%;background:#242c26;color:#eef0e9;border:1px solid #586457;border-radius:5px;padding:7px;font:inherit}
.album-contribution-editor button{padding:7px 12px;border:1px solid #788873;border-radius:5px;color:#eef0e9}
.album-contribution-editor [role=status]{font-size:12px;margin-left:10px}
.album-photo-dialog:has(.album-contribution-editor[open]) .album-photo-caption{max-height:45vh}
@media(max-width:700px){.album-contribution-editor form{grid-template-columns:1fr}.album-photo-dialog:has(.album-contribution-editor[open]) .album-photo-caption{max-height:55vh}}

button.book-cover-inner{width:100%;cursor:pointer;color:inherit;font:inherit}
button.book-cover-inner>*{pointer-events:none}
button.book-cover-inner:focus-visible{outline:2px solid #cabb91;outline-offset:-8px}
.album-end-back{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:transparent;border:0;padding:0;cursor:pointer}
.album-end-back:focus-visible{outline:2px solid #cabb91;outline-offset:-8px}
.album-end>div{position:relative;z-index:2;pointer-events:none}
.album-end .album-restart{pointer-events:auto}

.album-paper{position:relative}
.album-page-title{position:relative;min-height:26px;flex-shrink:0;text-align:center}
.album-page-title h3{font:italic clamp(14px,1.4vw,22px)/1.2 Georgia,serif;color:#706953;margin:0;padding:0 28px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.album-page-title:has(h3:empty):not(:has(button)){display:none}
.album-edit-pencil{width:26px;height:26px;font-size:19px;color:#706953;border-radius:5px;opacity:0;cursor:pointer;flex-shrink:0}
.album-page-title .album-edit-pencil{position:absolute;right:0;top:0}
.album-photo-layout figure{position:relative;padding-bottom:54px}
.album-caption-pencil{position:absolute;width:28px;height:28px;line-height:1;padding:0;display:grid;place-items:center;overflow:visible}
.album-page-title:hover .album-edit-pencil,.album-photo-layout figure:hover>.album-edit-pencil,.album-edit-pencil:focus-visible{opacity:1}
.album-edit-pencil:hover{background:#d9d0bc}
.album-inline-editor{position:absolute;z-index:20;left:4%;right:4%;bottom:5%;max-height:85%;overflow:auto;background:#fffdf6;border:1px solid #c9bea5;border-radius:8px;box-shadow:0 8px 25px #30281730;padding:16px;color:#445444;text-align:left}
.album-inline-close{position:absolute;right:8px;top:4px;font-size:23px;color:#65725e}
.album-inline-editor form{display:grid;gap:9px;padding-top:8px}
.album-inline-editor label{display:flex;flex-direction:column;gap:3px;font-size:12px}
.album-inline-editor input,.album-inline-editor textarea{width:100%;padding:7px;border:1px solid #c9cfbf;border-radius:5px;background:white;color:#344e43;font:inherit}
.album-inline-editor [type=submit]{justify-self:start;padding:7px 14px;border:1px solid #9aaa90;border-radius:5px;font-size:12px}
.album-inline-editor [role=status]{font-size:12px}

.album-edit-pencil:focus-visible,.album-inline-editor :focus-visible{outline:none}
.album-edit-pencil:focus-visible,.album-inline-editor button:focus-visible{background:#e5e9df}
.album-inline-editor input:focus,.album-inline-editor textarea:focus{border-color:#879b7c;box-shadow:none}
.album-contribution-editor :focus-visible{outline:none}
.album-contribution-editor input:focus,.album-contribution-editor textarea:focus{border-color:#91a486;box-shadow:none}
.album-contribution-editor button:focus-visible,.album-contribution-editor summary:focus-visible{background:#ffffff12}

.album-photo-facts{flex:1;min-width:0;text-align:left}
.album-photo-facts dl{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0}
.album-photo-facts dl>div{display:flex;gap:7px;min-width:0}
.album-photo-facts dt{color:#9fab99}
.album-photo-facts dd{margin:0;overflow-wrap:anywhere;color:#e4e9df}
.album-photo-facts small{display:block;color:#9fab99;font-size:10px;margin-top:3px}

.album-magnifier{position:absolute;pointer-events:none;border:1px solid #b9c1b0;border-radius:5px;box-shadow:0 4px 20px #0008}
.album-magnifier[hidden]{display:none}
.album-photo-canvas:focus-visible{outline:1px solid #879b7c;outline-offset:-1px}

.album-name-dialog{width:min(340px,90vw);padding:22px;border:1px solid #c9bea5;border-radius:8px;background:#fffdf6;color:#445444}
.album-name-dialog::backdrop{background:#18251a66}
.album-name-dialog label{display:flex;flex-direction:column;gap:8px;font-size:15px}
.album-name-dialog input{width:100%;padding:8px;border:1px solid #c9cfbf;border-radius:5px;background:white;color:#344e43;outline:none}
.album-name-dialog form>div{display:flex;justify-content:flex-end;gap:14px;margin-top:16px}
.album-name-dialog button{padding:6px 10px;font-size:13px}
.album-name-dialog [type=submit]{background:#344e43;color:#fffdf6;border-radius:5px}
.album-contribution-editor form{grid-template-columns:1fr}

.album-photo-layout figcaption{position:absolute;margin:0;text-align:left;max-height:2.8em;overflow-wrap:anywhere}

.album-caption-author{font-family:var(--sans);font-size:.72em;font-style:normal;color:#929385;margin-left:.35em;white-space:nowrap}

.album-year-divider{grid-column:1/-1;display:flex;align-items:center;gap:20px;color:#828775;font:16px var(--sans);margin:12px 0 0}
.album-year-divider::before,.album-year-divider::after{content:"";height:1px;background:#d4d8ca;flex:1}

.album-cover>img.album-cover-background,.album-book-cover>img.album-cover-background{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;border:0;border-radius:inherit;box-shadow:none;filter:brightness(.72);pointer-events:none;z-index:0}
.album-cover:has(.album-cover-background)>:not(.album-cover-background),.album-book-cover:has(.album-cover-background)>.book-cover-inner{position:relative;z-index:1}
.album-cover:has(.album-cover-background) .album-cover-label,.album-book-cover:has(.album-cover-background) .book-cover-inner>h2{text-shadow:0 1px 4px #0009}

.album-set-cover{font-size:12px;color:#d6ddcf;padding:7px 10px;border:1px solid #63715e;border-radius:5px}.album-set-cover:disabled{opacity:.6;cursor:default}
