@import url("/static/palette.css?v=d087293871ba");
@import url("/static/layout.css?v=8c148d437e58");
/* UI-1: the home surface. Reader and other pages keep their own styles. */
.home-page .shelf-item{min-width:0}.home-page .shelf-delete{border:0;background:none;padding:0;margin-top:8px;font-size:13px;color:var(--site-muted);text-decoration:underline}.home-dragging .shelf-delete{visibility:hidden}
.shelf-delete-dialog{width:440px;max-width:calc(100vw - 32px);box-sizing:border-box;border:1px solid var(--site-line);border-radius:8px;padding:28px;background:var(--site-panel);color:var(--site-ink);font:15px/1.5 var(--site-body)}.shelf-delete-dialog::backdrop{background:color-mix(in srgb, var(--site-button) 32%, transparent)}.shelf-delete-dialog h2{font:600 22px/1.3 var(--site-body);margin:0}.shelf-delete-dialog p{overflow-wrap:anywhere}.shelf-delete-actions{display:flex;justify-content:flex-end;gap:20px;margin-top:24px}.shelf-delete-actions button{font:inherit;border:0;padding:0;background:none;cursor:pointer}.shelf-delete-actions .primary{height:44px;padding:0 22px;background:var(--site-button);color:var(--site-page);border-radius:4px}.shelf-delete-actions button:disabled{opacity:.5}
body:has(.home-page){background:var(--site-page);color:var(--site-ink);font-family:var(--site-body);font-size:17px}
.home-page{--ink:var(--site-ink);--muted:var(--site-muted);max-width:1328px;width:100%;padding:0 24px;margin:auto;box-sizing:border-box}
.home-page *{box-sizing:border-box}
.home-page [hidden]{display:none!important}
.home-page .u,.home-page .u11{font:inherit;letter-spacing:normal;text-transform:none}
.home-page a,.home-page button{color:inherit;cursor:pointer;font:inherit;text-decoration:none}
.home-page a:hover{text-decoration:underline}
.home-page .grey,.home-page .sub,.home-page .note{color:var(--site-muted)}
.home-page .nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:88px;margin:0;border-bottom:1px solid var(--site-line);font-size:17px}
.home-page .nav .wordmark{font-size:25px;font-weight:600;letter-spacing:-1px}
.home-page .nav .mid{position:static;transform:none;display:flex;gap:32px}
.home-page .nav .right{justify-self:end;margin:0}
.home-page main.home{display:block;padding:40px 0 0;max-width:none}
.home-page #create{padding:0;width:100%}
.create-panel{background:var(--site-panel);border-radius:16px;padding:36px 40px}
.home-page h1{font:600 52px/1.08 var(--site-body);letter-spacing:-2px;margin:0 0 16px}
.home-page h2{font-size:28px;font-weight:600;letter-spacing:-.7px;margin:0}
.home-page .sub{font-size:17px;line-height:1.5;margin:0 0 24px}
.home-page .actions{display:flex;align-items:center;gap:24px;margin:0}
.home-page .primary{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border:0;border-radius:12px;background:var(--site-button);color:var(--site-page);font-size:17px;white-space:nowrap}
.home-page .primary:hover{text-decoration:none;background:var(--site-hover)}
.home-page .off{opacity:.4;pointer-events:none}
.home-page .content{border:0;padding:0;margin-top:24px}
.home-page .selection-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.home-page .selection-meta{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.home-page #selCount{font-size:17px}
.home-page #uploadLimit,.home-page #clearWrap{font-size:14px;color:var(--site-muted)}
.home-page .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:20px;max-height:300px;overflow:auto}
.home-page .ph{position:relative;aspect-ratio:1;min-width:0;background:var(--site-page);border-radius:4px;overflow:hidden}
.home-page .ph img{width:100%;height:100%;object-fit:cover;display:block}
.home-page .ph .rm{position:absolute;bottom:0;left:0;right:0;font-size:12px;color:var(--site-page);background:var(--site-button);padding:3px;text-align:center;opacity:0}
.home-page .ph:hover .rm,.home-page .ph:focus-within .rm{opacity:1}
.home-page .resume-links{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--site-muted);margin:16px 0}
.home-page .photo-handling{font-size:14px;color:var(--site-muted);line-height:1.5;margin-top:14px}
.home-page summary{cursor:pointer;width:fit-content}
.home-page .photo-handling .note{max-width:800px;margin-top:10px;font-size:14px}
.home-page #shelf{width:100%;margin:48px 0 64px;padding:0}
.home-page #shelf>.between{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.home-page #bookCount{font-size:14px;color:var(--site-muted)}
.home-page #shelfBody{border:0;background:none;box-shadow:none;padding:0}
.home-page #books{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:40px 36px;padding:0 0 8px;overflow:visible;list-style:none;margin:0}
.home-page .shelf-book{position:relative;display:block;width:100%;height:auto;min-width:0;border:0;padding:0;margin:0;background:none;color:var(--site-ink);text-align:left;box-shadow:none;transform:none;isolation:auto;overflow:visible;touch-action:pan-y}
.home-page .shelf-book:focus-visible{outline:2px solid var(--site-ink);outline-offset:8px;border-radius:4px}
.home-page .shelf-gallery-face{display:block;position:relative;width:100%;height:auto;aspect-ratio:210/297;border-radius:4px;background:var(--site-panel);box-shadow:0 8px 24px color-mix(in srgb, var(--site-ink) 12%, transparent);border:1px solid var(--site-line);transition:transform 180ms ease-out,box-shadow 180ms ease-out}
.home-page .shelf-gallery-face:after{content:"";position:absolute;right:-3px;top:3px;bottom:2px;width:2px;background:var(--site-panel);border-right:1px solid var(--site-line);border-radius:0 2px 2px 0;z-index:-1}
.home-page .shelf-gallery-face img{display:block;width:100%;height:100%;object-fit:contain;border-radius:3px;pointer-events:none}
.home-page .shelf-book:hover .shelf-gallery-face{transform:translateY(-4px);box-shadow:0 12px 28px color-mix(in srgb, var(--site-ink) 18%, transparent)}
.home-page .book-name{display:block;font-size:16px;line-height:1.3;margin-top:16px;overflow-wrap:anywhere;font-weight:400}
.home-page .book-meta{display:block;font-size:14px;line-height:1.4;color:var(--site-muted);margin-top:5px}
.home-page .shelf-book.drag-source .shelf-gallery-face{opacity:.12;transform:none}
.home-page .shelf-book.drag-source .book-name,.home-page .shelf-book.drag-source .book-meta{visibility:hidden}
.home-drag{position:fixed!important;z-index:10000;pointer-events:none;margin:0;transform:scale(1.03);border-radius:4px;box-shadow:0 20px 48px color-mix(in srgb, var(--site-ink) 24%, transparent);background:var(--site-page);overflow:hidden}
.home-drag img{display:block;width:100%;height:100%;object-fit:contain}
body.home-dragging{user-select:none;cursor:grabbing}
.home-page .shelf-order-help{min-height:24px;margin-top:18px;font-size:14px;color:var(--site-muted)}
.home-page .shelf-order-help button,.home-page .show-more{border:0;background:none;padding:0;text-decoration:underline}
.home-page footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;border-top:1px solid var(--site-line);padding:24px 0;font-size:17px;color:var(--site-muted);margin:0}
.home-page footer a,.home-page footer button{margin:0;white-space:nowrap;font-size:inherit;line-height:1.4}
.home-page footer .text-action{padding:0}
@media(max-width:600px){.home-page footer{gap:16px 32px;font-size:14px}}
@media(max-width:1399px){.home-page #books{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 32px}}
@media(max-width:900px){.home-page #books{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}}
@media(max-width:600px){.home-page{padding:0 20px}.home-page .nav{height:96px;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.home-page .nav .mid{grid-row:2;grid-column:1/3;justify-content:center;gap:28px;font-size:14px}.home-page .nav .right{grid-column:2;grid-row:1;font-size:14px}.home-page main.home{padding-top:24px}.create-panel{padding:26px 22px}.home-page h1{font-size:38px;letter-spacing:-1.4px}.home-page .actions{align-items:flex-start;flex-direction:column;gap:18px}.home-page .selection-bar{align-items:flex-start;flex-direction:column}.home-page .selection-bar .primary{align-self:flex-end}.home-page .grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:360px}.home-page #books{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}.home-page #shelf{margin-top:40px}.home-page h2{font-size:28px}.home-page .resume-links{gap:10px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.home-page *, .home-drag{transition:none!important;animation:none!important}.home-page .shelf-book:hover .shelf-gallery-face{transform:none}}

.home-page .text-action{border:0;background:none;padding:0}.home-page .text-action:hover{text-decoration:underline}.home-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.wrap.home.home-page{height:auto;min-height:100vh;display:block}
.home-page main.home{flex:none}
.home-page main.home h1{font-size:52px}
.home-page main.home #shelf{max-width:none;border:0;padding:0}
.home-page main.home #create{overflow:visible;padding:0;width:100%}
.home-page main.home .grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));max-height:300px;overflow:auto}
.home-page main.home #webNote{font-size:14px}
.home-page #lastBatch{margin-top:0}
.home-page .shelf{text-align:left;margin-top:0}
@media(max-width:600px){.home-page main.home h1{font-size:38px}.home-page main.home .grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:600px}}
.home-page button,.home-page input{font-family:var(--site-body)}
body:has(.home-page) .creation-dialog{background:var(--site-panel);color:var(--site-ink);border-color:var(--site-line);box-shadow:0 24px 90px color-mix(in srgb, var(--site-ink) 13.3333%, transparent)}
body:has(.home-page) .creation-dialog p{color:var(--site-muted);font-size:17px}
body:has(.home-page) .creation-button{color:var(--site-ink);border-color:var(--site-line);font-size:17px}
body:has(.home-page) .creation-button.primary{background:var(--site-button);color:var(--site-page);border-color:var(--site-ink)}
body:has(.home-page) .creation-button:focus-visible{outline-color:var(--site-ink)}

/* POLISH-1: native dialog reset must not pin the shelf question to the corner. */
dialog.shelf-delete-dialog{margin:auto;inset:0}

/* MOBILE-1: phone hit areas and supporting copy; desktop composition unchanged. */
@media(max-width:600px){
.home-page .shelf-delete{font-size:14px}
.home-page .ph .rm{font-size:14px}

.home-page :is(#lnkFolder,#lnkFiles,#go,.continue,.shelf-delete,.shelf-order,.show-more,.shelf-order-help button),.shelf-delete-actions button{box-sizing:border-box;min-height:44px;min-width:44px;display:inline-flex!important;align-items:center;justify-content:center;padding:10px 0}
.home-page .shelf-order{font-size:14px!important}

}

/* MOBILE-1: phone hit areas and supporting copy; desktop composition unchanged. */
@media(max-width:600px){


body.order-page :is(.back,.desk,.state a,.book a,.contact a,.order-actions a){display:inline-flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box;padding:10px 0}
body.order-page :is(.placed,.assets,.track,.specs,.price,.contact,.muted,.refund){font-size:14px}

}

@media(max-width:600px){
.home-page :is(#lnkContinue,#lnkResume,#lnkDiscard,#lnkClear){display:inline-flex;align-items:center;box-sizing:border-box;min-width:44px;min-height:44px;padding:10px 0;font-size:14px}
body.order-page .track li,body.order-page main a.desk{font-size:14px}
}

@media(max-width:600px){.home-page .book-finished{font-size:14px!important}}

/* UI-FIX-2: touch intake begins at the normal page gutter below the bar. */
@media(hover:none) and (pointer:coarse){.home-page main.home{padding-top:24px}.home-page main.home #create{margin-top:0}}
