@import url("/static/palette.css?v=d087293871ba");
/* UI-2: scoped to intake/waiting/sorting, never the shelf or book readers. */
body.intake-screen,body.sorting-screen{font-family:var(--site-body);color:var(--site-ink);background:var(--site-page)}
.intake-screen .creation-dialog,.sorting-screen .creation-dialog{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 32px));max-width:520px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--site-panel);color:var(--site-ink);border:1px solid var(--site-line);box-shadow:0 24px 90px color-mix(in srgb, var(--site-ink) 13.3333%, transparent);font:inherit;padding:32px}
.intake-screen .creation-dialog::backdrop,.sorting-screen .creation-dialog::backdrop{background:color-mix(in srgb, var(--site-button) 40.0000%, transparent);backdrop-filter:none}
.intake-screen .creation-dialog p,.sorting-screen .creation-dialog p{font-size:16px;color:var(--site-muted);line-height:1.5}
.intake-screen .creation-button,.sorting-screen .creation-button{font:inherit;background:var(--site-page);color:var(--site-ink);border-color:var(--site-line)}
.intake-screen .creation-button.primary,.sorting-screen .creation-button.primary{background:var(--site-button);color:var(--site-page);border-color:var(--site-ink)}
.intake-screen .creation-dialog h2,.sorting-screen .creation-dialog h2{font-size:27px;font-weight:600;letter-spacing:-.7px}
.intake-screen .u,.intake-screen .u11,.sorting-screen .u,.sorting-screen .u11{text-transform:none;letter-spacing:normal}
#minimumNote{font-size:15px;line-height:1.5;margin-top:14px;color:var(--site-muted)}
.start-choice [data-choice]{display:block;width:100%;text-align:left;background:none;color:inherit;border:0;border-top:1px solid var(--site-line);padding:24px 20px;cursor:pointer;font:inherit}
.start-choice [data-choice] strong{display:block;font-size:21px;font-weight:600;margin-bottom:8px}
.start-choice [data-choice] span{display:block;font-size:16px;line-height:1.5;color:var(--site-muted)}
.start-choice [data-choice]:hover strong{text-decoration:underline}
.sorting-screen .wrap{max-width:none;padding:0 36px;height:auto;min-height:100dvh;display:block}
.sorting-screen .nav{height:94px;display:flex;align-items:center;justify-content:space-between;font-size:16px}
.sorting-screen .nav .wordmark{font-size:25px;font-weight:600;letter-spacing:-1px}
.sorting-screen .nav .mid{position:static;transform:none;display:flex;gap:32px}
.sorting-screen .nav .right{margin:0}
.sorting-screen button,.sorting-screen input,.sorting-screen select{font:inherit;color:inherit}
.pile-actions select{max-width:150px;background:var(--site-page);border:1px solid var(--site-line);padding:4px}
.sorting-screen button{background:none;border:0;cursor:pointer;padding:0}
.sorting-screen button:hover,.sorting-screen a:hover{text-decoration:underline}
.sorting-screen button:disabled{opacity:.4;cursor:default;text-decoration:none}
.sorting-screen :focus-visible{outline:2px solid var(--site-ink);outline-offset:4px}
.sort-heading{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--site-line);padding:28px 0}
.sort-heading h1{font-size:32px;font-weight:600;letter-spacing:-1px;margin:0}
.sort-heading p{font-size:15px;color:var(--site-muted);margin:8px 0 0}
.sorting-workspace{display:grid;grid-template-columns:220px minmax(0,1fr) 250px;gap:36px;align-items:start}
.sorting-workspace h2{font-size:20px;font-weight:600;margin:0 0 20px}
#albumsColumn{grid-column:1;grid-row:1}#selectedPile{grid-column:2;grid-row:1;min-width:0}#pilesColumn{grid-column:3;grid-row:1;min-width:0}
.sort-column-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px}
.sort-albums,.sort-piles{display:flex;flex-direction:column;gap:8px}
.sorting-screen .sort-album,.sorting-screen .sort-pile{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;text-align:left;width:100%;padding:10px 6px;min-height:68px;border-bottom:1px solid var(--site-panel)}
.sort-album img,.sort-pile img,.sort-thumb-empty{width:48px;height:60px;object-fit:cover;display:block;background:var(--site-panel)}
.sort-pile img,.sort-pile .sort-thumb-empty{height:48px}
.sort-album strong,.sort-pile strong{display:block;font-size:15px;font-weight:400;overflow-wrap:anywhere}
.sort-album small,.sort-pile small{display:block;font-size:13px;color:var(--site-muted);margin-top:5px}
.sort-album[aria-pressed=true],.sort-pile[aria-pressed=true]{box-shadow:inset 2px 0 var(--site-ink);background:var(--site-panel)}
.sort-album.drop-over{outline:2px solid var(--site-ink);outline-offset:2px}
.sort-album-actions{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;margin:20px 0}
.sort-design{display:block;margin-top:20px;font-size:16px;text-decoration:underline}
.pile-section{margin-bottom:26px}.pile-section h3{font-size:16px;font-weight:600;margin:0 0 8px}
.pile-section p{font-size:14px;line-height:1.5;color:var(--site-muted);margin:8px 0}
.pile-utility{border-top:1px solid var(--site-line);padding-top:12px}.new-pile-link{display:block;margin:22px 0;font-size:14px}
.pile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}
.pile-header h2{margin:0 0 6px;font-size:26px;letter-spacing:-.5px}.pile-count{color:var(--site-muted);font-size:14px}
.pile-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:14px;margin:0 0 22px}
.sorting-screen .sort-primary{background:var(--site-button);color:var(--site-page);border-radius:10px;padding:11px 16px;line-height:1.2;text-decoration:none}
.sort-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sorting-screen .sort-photo{position:relative;display:block;aspect-ratio:4/5;width:100%;overflow:hidden;background:var(--site-panel);min-width:0;text-align:left;border:0}
.sort-photo img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 180ms ease-out}
.sort-photo.loaded img{opacity:1;transition-delay:var(--photo-delay,0ms)}
.sort-photo[aria-pressed=true]{outline:2px solid var(--site-ink);outline-offset:3px}
.sort-photo .selected-mark{position:absolute;right:8px;top:8px;background:var(--site-button);color:var(--site-page);border-radius:50%;width:22px;height:22px;text-align:center;line-height:22px;font-size:13px}
.sort-photo .album-mark{position:absolute;bottom:8px;left:8px;background:var(--site-page);color:var(--site-ink);padding:4px 7px;border-radius:3px;font-size:11px}
.pile-empty{padding:110px 12px;text-align:center;font-size:18px;color:var(--site-muted);line-height:1.5}
.sort-footer{border-top:1px solid var(--site-line);margin-top:36px;padding:22px 0;display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--site-muted)}
.sort-note{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--site-page);border:1px solid var(--site-line);padding:12px 18px;z-index:20;max-width:calc(100vw - 32px);font-size:14px}
.sort-preview img{max-width:100%;max-height:65dvh;display:block;margin:0 auto 20px;object-fit:contain}.sort-preview{width:min(850px,calc(100vw - 32px))!important;max-width:850px!important}
.sort-name-input{display:block;box-sizing:border-box;width:100%;border:1px solid var(--site-line);padding:12px;margin:12px 0 24px}
@media(max-width:1100px){.sorting-workspace{grid-template-columns:180px minmax(0,1fr) 210px;gap:24px}.sort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .sorting-screen .wrap{padding:0 20px}.sorting-screen .nav{height:92px;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.sorting-screen .nav .mid{grid-row:2;grid-column:1/3;justify-content:center;font-size:14px;gap:26px}.sorting-screen .nav .right{grid-column:2;grid-row:1;justify-self:end;font-size:14px}
 .sort-heading{display:block;padding:24px 0}.sort-heading h1{font-size:29px}.sorting-workspace{display:flex;flex-direction:column;gap:24px;padding-bottom:210px}
 #pilesColumn{order:0;width:100%}#selectedPile{order:1;width:100%}#albumsColumn{position:fixed;left:0;right:0;bottom:0;background:var(--site-page);z-index:15;border-top:1px solid var(--site-line);padding:12px 20px;max-height:200px;overflow:auto}
 #pilesColumn>h2{margin-bottom:14px}.piles-content{display:flex;gap:24px;overflow-x:auto;padding:4px 3px 14px;scroll-snap-type:x proximity}.pile-section{flex:0 0 220px;margin:0;scroll-snap-align:start}.sort-piles{max-height:210px;overflow-y:auto}.pile-utility{flex:0 0 165px;padding:0;border:0}.new-pile-link{flex:0 0 80px;font-size:14px}
 .sort-albums{flex-direction:row;overflow-x:auto;gap:12px}.sorting-screen .sort-album{flex:0 0 155px;grid-template-columns:30px minmax(0,1fr);min-height:45px;padding:6px;gap:8px}.sort-album img,.sort-album .sort-thumb-empty{width:30px;height:38px}.sort-album small{margin-top:2px;font-size:12px}.sort-album strong{font-size:14px}.sort-column-head h2{margin-bottom:8px;font-size:17px}.sort-design{margin-top:10px;font-size:14px}.sort-album-actions{margin:8px 0;gap:18px;font-size:12px}
 .sort-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pile-header h2{font-size:24px}.pile-actions{gap:14px}.pile-empty{padding:50px 8px}.sort-footer{margin-bottom:210px}.sort-note{bottom:208px;width:calc(100vw - 40px)}
 .intake-screen .creation-dialog,.sorting-screen .creation-dialog{padding:24px}.creation-dialog .dialog-actions{flex-wrap:wrap}.intake-screen .creation-dialog h2,.sorting-screen .creation-dialog h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.sort-photo img{transition:none!important}}

/* MOBILE-1: phone hit areas and supporting copy; desktop composition unchanged. */
@media(max-width:600px){
.sort-album small,.sort-pile small{font-size:14px}
.sort-photo .selected-mark{font-size:14px}
.sort-photo .album-mark{font-size:14px}
.sort-footer{font-size:14px}
.sort-album small{font-size:14px}
.sort-album-actions{font-size:14px}

.intake-screen :is(#lnkFolder,#go,#lastBatch a),.sorting-screen .creation-dialog button{box-sizing:border-box;min-height:44px;min-width:44px;display:inline-flex;align-items:center}

}

@media(max-width:600px){.intake-screen #stageText{font-size:14px}}
/* UPLOAD-GATE-1: a touch device's first screen after picking is the upload - progress, the keep-open line, any failed files, Continue */
#create.gating .actions,#create.gating .selection-bar,#create.gating #grid,#create.gating #statusText,#create.gating #minimumNote,#create.gating #origLine{display:none}
#create.gating.gate-short .actions{display:flex}
.upload-gate{margin:16px 0 8px}
.upload-gate .gate-progress{display:flex;align-items:center;gap:12px}
.upload-gate .gate-bar{flex:1;min-width:0;height:8px;border-radius:4px;background:var(--site-page);box-shadow:inset 0 0 0 1px var(--site-line);overflow:hidden}
.upload-gate .gate-bar i{display:block;height:100%;width:0;background:var(--site-button);transition:width .2s}
.upload-gate #gatePercent{font-variant-numeric:tabular-nums;min-width:4ch;text-align:right}
.upload-gate #gateCount{white-space:nowrap;color:var(--site-muted)}
.upload-gate .gate-line{margin:12px 0}
.upload-gate .gate-failed{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid var(--site-line)}
.upload-gate .gate-failed li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--site-line)}
.upload-gate .gate-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upload-gate #gateContinue{width:100%}
