:root{--paper:#f5efe3;--paper-2:#ece3d3;--card:#fffdf8;--ink:#292320;--ink-soft:#6b6258;--ink-faint:#9a8e82;--line:#e2d7c4;--line-soft:#ece3d3;--accent:#b9543a;--accent-dark:#9c4429;--ok:#4a7350;--ok-bg:#e6efe2;--warn:#a9742a;--warn-bg:#f4ead4;--shadow:0 8px 28px #3c2a191f;--radius:18px;--radius-sm:12px;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Hoefler Text", Georgia, "Times New Roman", serif;--wood-base:#6f5235;--wood-wall:linear-gradient(180deg, #7a5b3a, #6b4f33 55%, #5f4529);--wood-bay:linear-gradient(180deg, #1c100647, #1c10060a 30%, #1c10060a 70%, #1c10064d)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100%;margin:0}body{color:var(--ink);background:#ddd2bf;font-family:ui-rounded,SF Pro Rounded,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}#root{width:100%;min-height:100%}.app{--pad:20px;--shell-header-top:max(20px, env(safe-area-inset-top));--shell-content-top:max(72px, calc(env(safe-area-inset-top) + 52px));background:var(--paper);flex-direction:column;width:min(100%,460px);height:100dvh;margin-inline:auto;display:flex;position:relative;overflow:hidden}@media (width>=600px){#root{place-items:center;min-height:100dvh;display:grid}.app{border:1px solid #ffffff40;border-radius:36px;height:min(900px,94dvh);margin-inline:0;box-shadow:0 30px 70px #281e1259}}@media (width>=1000px){.app{--pad:32px;--content:1240px;width:100%;height:100dvh;box-shadow:none;border:none;border-radius:0}}.screen{width:100%;min-width:0;height:100%;padding:max(20px, env(safe-area-inset-top)) var(--pad) max(20px, env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden auto}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-family:inherit;font-size:16px;font-weight:650;transition:transform 80ms,background .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px #c0613a52}.btn-primary:active{background:var(--accent-dark)}.btn-primary:disabled{background:var(--ink-faint);box-shadow:none;opacity:.55;cursor:not-allowed}.btn-ghost{color:var(--ink);border:1.5px solid var(--line);background:0 0}.btn-danger{background:var(--accent-dark);color:#fff}.btn-sm{padding:12px 16px;font-size:15px}.icon-btn{background:var(--paper-2);width:40px;height:40px;color:var(--ink);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn-dark{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0006}.header-actions{flex-shrink:0;align-items:center;gap:2px;height:100%;display:flex}.header-actions .account-avatar{width:36px;height:36px}.scan-fail-banner{z-index:20;left:var(--pad);right:var(--pad);bottom:max(88px, calc(env(safe-area-inset-bottom) + 76px));border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px 14px;font-size:13.5px;font-weight:600;display:flex;position:absolute}.scan-fail-banner button{color:inherit;font:inherit;cursor:pointer;opacity:.85;background:0 0;border:none;flex-shrink:0;padding:4px 2px;font-size:13px;font-weight:700}.review-hero-screen{background:#15110e;justify-content:stretch;padding:0}.review-hero{flex:1;position:relative;overflow:hidden}.review-hero-backdrop{object-fit:cover;filter:blur(28px)brightness(.5)saturate(.7);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.12)}.review-hero-photo{object-fit:contain;filter:saturate(.85);z-index:1;width:100%;height:100%;position:relative}.review-hero-cancel{top:max(14px, env(safe-area-inset-top));z-index:3;position:absolute;left:14px}.scan-veil{z-index:1;background:linear-gradient(#15110e1a,#15110e8c);position:absolute;inset:0}.scan-sheen{mix-blend-mode:screen;z-index:2;background:linear-gradient(105deg,#0000 32%,#fff3de1a 44%,#fff3de38 50%,#fff3de1a 56%,#0000 68%) 0 0/300% 100%;animation:3.2s cubic-bezier(.45,0,.55,1) infinite sheen;position:absolute;inset:0}@keyframes sheen{0%{background-position:115% 0}to{background-position:-15% 0}}.review-hero-status{color:#fff;padding:24px 0 max(32px, env(safe-area-inset-bottom));background:#15110e;flex-direction:column;align-items:center;gap:6px;display:flex}.review-hero-title{margin:0;font-size:16px;font-weight:600}.review-hero-sub{color:#ffffff8c;margin:0;font-size:13.5px}.review{padding-bottom:0}.review-header{align-items:center;gap:12px;padding-bottom:14px;display:flex}.review-header-text{flex:1;min-width:0}.review-photo-thumb{object-fit:cover;border-radius:10px;flex-shrink:0;width:40px;height:40px;box-shadow:0 2px 8px #281c1040}.section-scan{border-radius:14px;flex-shrink:0;align-self:center;max-height:34vh;margin-bottom:12px;position:relative;overflow:hidden;box-shadow:0 2px 10px #281c1038}.section-scan-photo{max-width:100%;max-height:34vh;display:block}.section-scan-box{border:2px solid #fff3def2;border-radius:6px;outline:1px solid #281c1059;animation:2.7s ease-in-out infinite section-pulse;position:absolute}@keyframes section-pulse{0%,to{opacity:.35}50%{opacity:.95}}.progress-track{background:var(--line-soft);border-radius:999px;flex-shrink:0;height:4px;margin-bottom:12px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.review-title{font-family:var(--serif);letter-spacing:-.2px;margin:0;font-size:22px;font-weight:700}.review-sub{color:var(--ink-soft);margin:2px 0 0;font-size:14px}.review-list{flex-direction:column;flex:1;gap:10px;padding-bottom:16px;display:flex;overflow-y:auto}.review-divider{color:var(--ink-soft);align-items:center;gap:7px;margin:10px 2px 2px;font-size:13px;font-weight:600;display:flex}.book-row{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius-sm);content-visibility:auto;contain-intrinsic-size:auto 90px;flex-direction:column;width:100%;transition:border-color .15s,opacity .15s;display:flex;position:relative}.book-row-main{text-align:left;border-radius:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:13px;width:100%;padding:12px;font-family:inherit;display:flex}.book-row-main:disabled{cursor:default}.book-row.is-excluded{opacity:.5}.book-row.is-included{border-color:var(--accent)}.book-row.is-duplicate{opacity:.72}.row-actions{flex-direction:column;gap:8px;padding:0 12px 11px 69px;display:flex}.row-actions-context{color:var(--ink-soft);margin:0;font-size:12.5px;line-height:1.4}.row-actions-buttons{flex-wrap:wrap;gap:8px;display:flex}.row-action{border:1.5px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:650;text-decoration:none;transition:transform 80ms;display:inline-flex}.row-action:active{transform:scale(.96)}.row-action:disabled{opacity:.5;cursor:not-allowed}.row-action-primary{background:var(--accent);border-color:var(--accent);color:#fff}.row-edit-corner{width:28px;height:28px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px}.row-edit-corner:active{background:var(--paper-2)}.row-editor{flex-direction:column;gap:8px;padding:0 12px 12px;display:flex}.row-editor input{color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:10px;outline:none;padding:9px 12px;font-family:inherit;font-size:14.5px}.row-editor input:focus{border-color:var(--accent)}.row-editor-buttons{gap:8px;display:flex}.row-in{animation:.28s ease-out both row-in}@keyframes row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.book-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.book-title{color:var(--ink);overflow-wrap:anywhere;font-size:15px;font-weight:700;line-height:1.25}.book-author{color:var(--ink-soft);font-size:13px}.book-meta{color:var(--ink-faint);font-size:12px}.book-cover{border-radius:3px 5px 5px 3px;flex-shrink:0;width:44px;height:64px;position:relative;overflow:hidden;box-shadow:inset 2px 0 #00000038,inset -2px 0 1px #ffffff59,0 2px 6px #281c1047}.book-cover.has-art.is-loading{background:linear-gradient(100deg, var(--paper-2) 30%, #f8f2e6 45%, var(--paper-2) 60%);background-size:220% 100%;animation:1.4s linear infinite badge-shimmer}.book-cover.has-art img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .22s;display:block}.book-cover.has-art.is-loaded img{opacity:1}.book-cover.has-art.is-loaded{background:0 0;animation:none}.book-cover.is-generated{text-align:center;background:radial-gradient(120% 80% at 28% 0%, #ffffff24, #fff0 55%), var(--cloth,#6e3f47);color:#fcf6ebf5;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:9px 6px 8px;display:flex}.book-cover.is-generated .cloth-head-band,.book-cover.is-generated .cloth-foot-band{background:#ffeed673;height:1px;position:absolute;left:12%;right:12%}.book-cover.is-generated .cloth-head-band{top:12%;box-shadow:0 2px #ffeed638}.book-cover.is-generated .cloth-foot-band{bottom:12%;box-shadow:0 -2px #ffeed638}.book-cover.is-generated .cloth-title{overflow-wrap:anywhere;max-width:100%;font-family:var(--serif);letter-spacing:.1px;text-shadow:0 1px 1px #00000047;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:8.5px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.book-cover.is-generated .cloth-author{letter-spacing:.2px;text-transform:uppercase;opacity:.78;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:6.5px;font-weight:600;overflow:hidden}.include-check{border:2px solid var(--line);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex}.include-check.is-on{background:var(--accent);border-color:var(--accent)}.badge{border-radius:999px;align-items:center;gap:4px;width:fit-content;margin-top:1px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-muted{background:var(--paper-2);color:var(--ink-soft);font-weight:500}.badge-dup{background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft)}.badge-pending{color:var(--ink-faint);background:linear-gradient(100deg, var(--paper-2) 30%, #f8f2e6 45%, var(--paper-2) 60%);background-size:220% 100%;animation:1.4s linear infinite badge-shimmer}@keyframes badge-shimmer{0%{background-position:130% 0}to{background-position:-90% 0}}.review-banner{border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn);flex-shrink:0;align-items:flex-start;gap:8px;margin-bottom:10px;padding:10px 14px;font-size:13.5px;font-weight:600;line-height:1.4;display:flex}.review-footer{padding:14px 0 max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);flex-direction:column;align-items:stretch;gap:10px;display:flex}.detail-fact-link{color:var(--accent);text-decoration:none}.detail-fact-link:hover{text-decoration:underline}.keep-suggestion{border:1.5px solid var(--line);background:var(--card);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.keep-suggestion-text{color:var(--ink-soft);flex:1;margin:0;font-size:13px;line-height:1.4}.keep-suggestion .row-action{flex-shrink:0}.keep-form{flex-direction:column;gap:8px;display:flex}.keep-form input{color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:14.5px}.keep-form input:focus{border-color:var(--accent)}.keep-note{color:var(--ink-faint);text-align:center;margin:0;font-size:12px;line-height:1.4}.review-progress-note{text-align:center;color:var(--ink-faint);flex:1;margin:0;padding:10px 0;font-size:14px;font-weight:600}.review-footer .btn-primary{flex:1}.app-header{z-index:29;top:var(--shell-header-top);left:var(--pad);right:var(--pad);justify-content:space-between;align-items:center;gap:12px;min-width:0;height:36px;display:flex;position:absolute}.header-identity{flex:1;align-items:center;gap:10px;min-width:0;height:100%;display:flex}.header-kept{color:var(--accent)}.header-back{margin-left:-10px}.header-identity .header-back+.collection-title{margin-left:-4px}.header-identity-actions{flex-shrink:0;align-items:center;gap:0;margin-left:-6px;display:flex;position:relative;top:1.5px}.collection-title{min-width:0;max-width:100%;font-family:var(--serif);letter-spacing:.15px;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;margin:0;font-size:22px;font-weight:700;line-height:1.4;animation:.32s both collection-title-in;overflow:hidden}.collection-title.is-timestamp{letter-spacing:0;font-size:18px}@media (width<=519px){.collection-title .title-time{display:none}}@keyframes collection-title-in{0%{opacity:0;translate:6px .5px}to{opacity:1;translate:0 .5px}}.scan-action{z-index:12;right:var(--pad);bottom:max(20px, env(safe-area-inset-bottom));background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;padding:0;transition:background .15s,box-shadow .15s,transform 80ms;display:inline-flex;position:absolute;box-shadow:0 10px 24px #70301e57}.scan-action:active{transform:translateY(1px)}.home{padding-top:var(--shell-content-top)}.library{padding-top:0}.library-chrome{margin:0 calc(-1 * var(--pad));padding:var(--shell-content-top) var(--pad) 0;flex-shrink:0}.stack-menu-anchor{position:relative}@media (width>=1000px){.app-header{left:max(var(--pad), calc((100% - var(--content)) / 2 + var(--pad)));right:max(var(--pad), calc((100% - var(--content)) / 2 + var(--pad)))}.scan-action{right:max(var(--pad), calc((100% - var(--content)) / 2 + var(--pad)));bottom:32px}.library-chrome .stack-tools{width:100%;max-width:calc(var(--content) - 2 * var(--pad));margin-inline:auto;margin-bottom:14px}.shelf-row .shelf-books{padding-inline:max(var(--pad), calc((100% - var(--content)) / 2 + var(--pad)))}}.title-menu{z-index:31;background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius-sm);min-width:220px;box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.title-menu-row{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:11px 12px;font-family:inherit;font-size:14.5px;font-weight:600;display:flex}.title-menu-row svg{color:var(--ink-faint)}.title-menu-row:disabled{color:var(--ink-faint);cursor:default}@media (hover:hover){.title-menu-row:hover{background:var(--paper-2)}}.title-menu-row.is-danger,.title-menu-row.is-danger svg{color:var(--accent-dark)}.title-menu-text{flex-direction:column;gap:2px;min-width:0;display:flex}.title-menu-hint{color:var(--ink-faint);font-size:12px;font-weight:500}.title-menu-form{gap:8px;min-width:250px;padding:10px}.title-menu-form input{color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:9px;outline:none;padding:9px 11px;font-family:inherit;font-size:14px}.title-menu-form input:focus{border-color:var(--accent)}.title-menu-form-buttons{gap:6px;display:flex}.title-menu-form-hint{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11.5px;overflow:hidden}.wordmark{align-items:center;gap:10px;min-width:0;display:flex}.wordmark-mark{background:var(--accent);color:#fff;width:36px;height:36px;font:inherit;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 4px 12px #b9543a52}.wordmark-mark.is-home{cursor:pointer;transition:transform .12s,box-shadow .15s,filter .15s}.wordmark-mark.is-home:hover{filter:brightness(1.06);box-shadow:0 5px 14px #b9543a66}.wordmark-mark.is-home:active{transform:scale(.94)}.wordmark-text{font-family:var(--serif);letter-spacing:.2px;color:var(--ink);margin:0;font-size:25px;font-weight:700}.header-icon-btn{width:36px;height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .1s;display:inline-flex}.header-icon-btn:active{background:var(--paper-2);transform:scale(.94)}.header-icon-btn.is-on{color:var(--accent-dark);background:#b9543a21}.header-icon-btn:disabled{cursor:default;opacity:.7}.header-icon-btn.is-busy{opacity:.55}.share-btn.is-done{color:var(--ok)}.share-glyph{place-items:center;width:17px;height:17px;display:grid;position:relative}.share-glyph>*{grid-area:1/1;transition:opacity .2s,transform .25s}.share-glyph-check,.share-btn.is-done .share-glyph-share{opacity:0;transform:scale(.6)}.share-btn.is-done .share-glyph-check{opacity:1;transform:scale(1)}.share-toast{z-index:40;left:50%;bottom:max(88px, calc(env(safe-area-inset-bottom) + 72px));color:#f5efe3;letter-spacing:.01em;pointer-events:none;background:#292320eb;border-radius:999px;padding:10px 16px;font-size:13.5px;font-weight:650;animation:.28s both share-toast-in;position:absolute;transform:translate(-50%);box-shadow:0 10px 28px #281c1247}@keyframes share-toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.search-bar{background:var(--card);border:1.5px solid var(--line);color:var(--ink-faint);border-radius:999px;flex:1;align-items:center;gap:8px;min-width:0;padding:9px 14px;display:flex}.stack-tools{align-items:center;gap:10px;margin-bottom:14px;display:flex}.mode-toggle{background:var(--paper-2);border-radius:999px;flex-shrink:0;margin-left:auto;padding:3px;display:flex}.mode-toggle button{width:38px;height:32px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.mode-toggle button.is-on{background:var(--card);color:var(--accent);box-shadow:0 1px 3px #3c2a192e}.view-toggle{background:var(--paper-2);border:1.5px solid var(--line);border-radius:999px;flex-shrink:0;padding:3px;display:flex}.view-toggle button{width:34px;height:34px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.view-toggle button.is-on{background:var(--card);color:var(--accent);box-shadow:0 1px 3px #3c2a192e}@media (width<=430px){.search-bar{gap:7px;padding:8px 12px}.mode-toggle button{width:34px}}.title-stamp{letter-spacing:.03em;color:var(--ink-faint);background:var(--paper-2);border-radius:6px;flex-shrink:0;padding:3px 7px;font-size:11.5px;font-weight:700;translate:0 1.5px}@media (width<=419px){.app-header .title-stamp{display:none}.app-header .collection-title.is-timestamp+.title-stamp{display:inline-block}}.search-bar input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:15px}.library-list-scroll{flex:1;padding-bottom:92px;overflow-y:auto}.library-list{flex-direction:column;gap:8px;display:flex}.library-row{content-visibility:auto;contain-intrinsic-size:auto 88px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:13px;width:100%;padding:11px 12px;font-family:inherit;transition:border-color .15s,transform 80ms;display:flex}.library-row:active{border-color:var(--accent);transform:scale(.99)}.library-row.is-removing{pointer-events:none;animation:.34s ease-in both row-out}@keyframes row-out{to{opacity:0;transform:scale(.88)}}.no-results{color:var(--ink-soft);text-align:center;padding:30px 0;font-size:14px}.library-boot{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;display:flex}.boot-shelf{align-items:flex-end;gap:12px;display:flex}.boot-book{background:linear-gradient(100deg, var(--paper-2) 30%, #f8f2e6 45%, var(--paper-2) 60%);background-size:220% 100%;border-radius:3px 5px 5px 3px;width:52px;height:78px;animation:1.4s linear infinite badge-shimmer;box-shadow:inset 2px 0 #0000000f}.boot-book:nth-child(2){height:84px;animation-delay:.12s}.boot-book:nth-child(3){height:74px;animation-delay:.24s}.boot-book:nth-child(4){height:81px;animation-delay:.36s}.boot-hint{color:var(--ink-faint);margin:0;font-size:14px}.account-skeleton{background:linear-gradient(100deg, var(--paper-2) 30%, #f8f2e6 45%, var(--paper-2) 60%);border:1.5px solid var(--line-soft);background-size:220% 100%;border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:1.4s linear infinite badge-shimmer;display:inline-block}.empty-state{text-align:center;color:var(--ink-faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.empty-mark{background:var(--accent);color:#fff;border-radius:20px;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:6px;display:inline-flex;box-shadow:0 12px 26px #b9543a4d}.empty-title{font-family:var(--serif);color:var(--ink);margin:8px 0 0;font-size:21px;font-weight:700}.empty-sub{color:var(--ink-soft);max-width:240px;margin:0 0 12px;font-size:14px}.library.is-shelf-room{background:var(--paper-2)}.library.is-shelf-room .library-chrome{background:var(--paper);padding:var(--shell-content-top) var(--pad) 14px;z-index:3;position:relative}.library.is-shelf-room .library-chrome:after{content:"";pointer-events:none;background:linear-gradient(#3c2a1914,#3c2a1900);height:10px;position:absolute;bottom:-10px;left:0;right:0}.library.is-shelf-room .stack-tools{margin-bottom:0}.library.is-shelf-room .no-results{color:var(--ink-soft);padding-left:20px;padding-right:20px}.shelf-scroll{margin:0 calc(-1 * var(--pad));touch-action:pan-y;overscroll-behavior:contain;background:var(--paper-2);flex:1;padding:0 0 90px;overflow:hidden auto}.shelf{--zoom:1;flex-direction:column;gap:0;display:flex}.shelf-row{content-visibility:auto;contain-intrinsic-size:auto calc(210px * var(--zoom,1));flex-direction:column;display:flex;position:relative}.shelf-books{align-items:flex-end;gap:max(5px, calc(14px * var(--zoom,1)));padding:calc(16px * var(--zoom,1)) var(--pad) 0;min-height:calc(150px * var(--zoom,1));display:flex}.shelf .shelf-books{justify-content:space-between}.shelf-plank{height:max(7px, calc(15px * var(--zoom,1)));background:linear-gradient(#8a6230 0%,#6f4c24 55%,#543a1a 100%);border-top:1px solid #ffe2b88c;box-shadow:0 7px 12px #1a0f0680,inset 0 -3px 5px #00000052}.standing{min-width:0;max-width:calc(92px * var(--zoom,1));cursor:pointer;transform:rotate(var(--lean,0deg));transform-origin:bottom;background:0 0;border:none;flex:1 1 0;padding:0;transition:transform .12s;position:relative}.standing:active{transform:rotate(var(--lean,0deg)) translateY(-2px) scale(1.02)}.standing-filler{visibility:hidden;cursor:default}.standing.is-removing{pointer-events:none;animation:.36s ease-in both standing-out}@keyframes standing-out{30%{opacity:1;transform:rotate(var(--lean,0deg)) translateY(-8px)}to{opacity:0;transform:rotate(calc(var(--lean,0deg) + 5deg)) translateY(-20px) scale(.9)}}.standing .book-cover.standing-cover{aspect-ratio:2/3;border-radius:2px 4px 4px 2px;width:100%;height:auto;box-shadow:inset 2px 0 #00000047,inset -2px 0 1px #ffffff4d,0 6px 10px #3c2a1947}.standing:after{content:"";z-index:-1;background:radial-gradient(#3c2a194d,#3c2a1900 72%);height:8px;position:absolute;bottom:-3px;left:6%;right:6%}.standing-cover.is-generated{padding:calc(16px * var(--zoom,1)) calc(11px * var(--zoom,1)) calc(14px * var(--zoom,1));gap:calc(6px * var(--zoom,1))}.standing-cover.is-generated .cloth-title{font-size:calc(13px * var(--zoom,1));-webkit-line-clamp:5;line-height:1.3}.standing-cover.is-generated .cloth-author{font-size:calc(9px * var(--zoom,1))}.standing-cover.is-generated .cloth-head-band{top:9%}.standing-cover.is-generated .cloth-foot-band{bottom:9%}.detail{z-index:40;background:var(--paper);padding:0;animation:.22s ease-out both detail-in;position:absolute;inset:0}@keyframes detail-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.detail-header{padding:max(14px, env(safe-area-inset-top)) 16px 10px;align-items:center;gap:10px;display:flex}.detail-eyebrow{letter-spacing:.6px;text-transform:uppercase;color:var(--ink-faint);font-size:12px;font-weight:700}.detail-scroll{padding:6px 22px max(28px, env(safe-area-inset-bottom));flex:1;overflow-y:auto}.detail-hero{align-items:flex-end;gap:18px;padding:6px 0 20px;display:flex}.book-cover.detail-cover{aspect-ratio:2/3;border-radius:3px 6px 6px 3px;width:118px;height:auto;box-shadow:inset 2px 0 #00000042,inset -2px 0 1px #ffffff4d,0 14px 26px #281a0c52}.book-cover.detail-cover.is-generated .cloth-title{-webkit-line-clamp:6;font-size:16px;line-height:1.3}.book-cover.detail-cover.is-generated .cloth-author{font-size:10px}.detail-hero-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.detail-title{font-family:var(--serif);letter-spacing:-.2px;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:23px;font-weight:700;line-height:1.18}.detail-author{color:var(--ink-soft);margin:0;font-size:15px}.detail-cover-btn{background:0 0;border:none;flex-shrink:0;padding:0}.detail-cover-btn:not(:disabled){cursor:pointer}.detail-cover-btn:not(:disabled):active .detail-cover{transform:scale(.97)}.detail-cover-btn .detail-cover{transition:transform .12s}.cover-picker{scrollbar-width:none;gap:10px;padding:2px 2px 18px;animation:.16s ease-out both picker-in;display:flex;overflow-x:auto}@keyframes picker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cover-picker::-webkit-scrollbar{display:none}.cover-option{cursor:pointer;background:var(--paper-2);opacity:.62;border:none;border-radius:3px;flex-shrink:0;width:42px;height:62px;padding:0;transition:opacity .12s,box-shadow .12s;overflow:hidden;box-shadow:0 2px 5px #281c1038}.cover-option img{object-fit:cover;width:100%;height:100%;display:block}.cover-option.is-current{opacity:1;box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--accent), 0 2px 6px #281c1047}.detail-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px 16px;margin:0;padding:16px 0;display:grid}.detail-fact{flex-direction:column;gap:2px;min-width:0;display:flex}.detail-fact dt{letter-spacing:.4px;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700}.detail-fact dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:600}.detail-fact dd.is-mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13.5px;font-weight:500}.detail-section{padding:20px 0 0}.detail-section-title{letter-spacing:.4px;text-transform:uppercase;color:var(--ink-faint);margin:0 0 8px;font-size:13px;font-weight:700}.detail-description{color:var(--ink);white-space:pre-line;margin:0;font-size:15px;line-height:1.55}.detail-description>:first-child{margin-top:0}.detail-description>:last-child{margin-bottom:0}.detail-description p{margin:0 0 .75em}.detail-description a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.detail-description strong{font-weight:700}.detail-description ul,.detail-description ol{margin:0 0 .75em;padding-left:1.25em}.detail-description li+li{margin-top:.25em}.detail-loading{color:var(--ink-faint);margin:0;font-size:14px}.detail-tags{flex-wrap:wrap;gap:7px;display:flex}.detail-tag{color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}.detail-ol-link{width:100%;margin-top:24px;text-decoration:none}.detail-remove{width:100%;color:var(--accent-dark);margin-top:10px}.remove-confirm{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--card);flex-direction:column;gap:12px;margin-top:10px;padding:14px 16px;animation:.16s ease-out both picker-in;display:flex}.remove-confirm-text{color:var(--ink);margin:0;font-size:14.5px;font-weight:600;line-height:1.4}.remove-confirm-buttons{justify-content:flex-end;gap:8px;display:flex}.account{flex-shrink:0;position:relative}.account-signin{padding:8px 14px;font-size:14px}.account-avatar{border:1.5px solid var(--line);background:var(--paper-2);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:15px;font-weight:700;display:inline-flex;overflow:hidden}.account-avatar img{object-fit:cover;width:100%;height:100%}.account-menu{z-index:31;background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius-sm);width:220px;box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:10px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.account-menu-extras{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);flex-direction:column;margin:-2px 0;padding:4px 0;display:flex}.account-menu-row{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:9px 8px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.account-menu-row svg{color:var(--ink-faint)}@media (hover:hover){.account-menu-row:hover{background:var(--paper-2)}}.account-menu-count{color:var(--ink-faint);margin-left:auto;font-size:12px;font-weight:700}.account-meta{flex-direction:column;gap:2px;padding:4px 6px 0;display:flex}.account-name{color:var(--ink);margin:0;font-size:14.5px;font-weight:700}.account-email{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:12.5px}.account-signout{justify-content:center}.sync-banner{border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn);margin:0 0 10px;padding:9px 13px;font-size:13.5px;font-weight:600}@media (width>=1000px){.home-scroll,.test-banner,.sync-banner,.no-results,.review-header,.progress-track,.review-list,.review-banner,.library-list{width:100%;max-width:calc(var(--content) - 2 * var(--pad));margin-inline:auto}.review-list{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));align-content:start;align-items:start;gap:12px;display:grid}.review-divider{grid-column:1/-1}.library-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-content:start;align-items:start;gap:10px;display:grid}.review-footer .btn-primary{flex:initial;min-width:380px;margin-inline:auto}.scan-fail-banner{left:max(var(--pad), calc((100% - var(--content)) / 2 + var(--pad)));right:max(var(--pad), calc((100% - var(--content)) / 2 + var(--pad)));bottom:104px}.detail-scroll{align-self:center;width:100%;max-width:720px}.detail-header{padding-inline:calc(50% - 344px)}}@media (hover:hover){.standing:hover{transform:rotate(var(--lean,0deg)) translateY(-4px)}.library-row:hover,.book-row:hover{border-color:var(--accent)}.row-action:hover,.view-toggle button:not(.is-on):hover,.mode-toggle button:not(.is-on):hover{background:var(--paper-2)}.header-icon-btn:hover{background:var(--paper-2);color:var(--ink)}.share-btn.is-done:hover{color:var(--ok)}.icon-btn:hover{background:var(--line)}.row-action:hover{border-color:var(--ink-faint)}.btn-ghost:hover{background:var(--paper-2)}.scan-action:hover{background:var(--accent-dark);box-shadow:0 12px 28px #70301e66}.row-edit-corner:hover{background:var(--paper-2);color:var(--ink-soft)}.cover-option:hover{opacity:1}}.profile-loading,.profile-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:60vh;display:flex}.profile-loading-mark{background:var(--accent);color:#fff;border-radius:20px;justify-content:center;align-items:center;width:62px;height:62px;margin-bottom:8px;animation:1.6s ease-in-out infinite profile-pulse;display:inline-flex;box-shadow:0 12px 26px #b9543a4d}@keyframes profile-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.profile-loading-line{font-family:var(--serif);color:var(--ink);margin:0;font-size:18px;font-weight:700}.profile-loading-sub{color:var(--ink-faint);margin:0;font-size:13.5px}.profile-error{color:var(--warn)}.profile-error p{max-width:320px;margin:0;font-size:14.5px;font-weight:600}.profile-archetype{font-family:var(--serif);letter-spacing:-.3px;color:var(--ink);margin:0;font-size:34px;font-weight:700;line-height:1.12}.profile-owner{letter-spacing:.04em;color:var(--ink-soft);margin:0;font-size:13px;font-weight:650}.profile-stats{color:var(--ink-faint);margin:10px 0 0;font-size:12.5px}.profile-axes{flex-direction:column;gap:18px;padding-bottom:12px;display:flex}.axis-labels{color:var(--ink-faint);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.axis-labels .is-dominant{color:var(--accent-dark);font-weight:750}.axis-stacks{border-bottom:1.5px solid var(--line);align-items:flex-end;gap:3px;min-height:30px;padding-bottom:3px;display:flex}.axis-bin{flex-direction:column-reverse;flex:1;gap:1.5px;display:flex}.stack-book{background:var(--accent);opacity:.85;border-radius:1.5px;height:4px}.stack-book:nth-child(2n){opacity:.6;margin-left:8%}.stack-book:nth-child(3n){opacity:.72;margin-right:8%}.axis-extremes{color:var(--ink-faint);justify-content:space-between;gap:12px;margin:10px 0 0;font-size:11.5px;line-height:1.4;display:flex}.axis-extreme{max-width:48%}.axis-extreme.is-right{text-align:right}.read-flow{scrollbar-width:none;flex:1;min-height:0;overflow-y:auto}.read-flow::-webkit-scrollbar{display:none}.flow-section{flex-direction:column;gap:14px;width:100%;max-width:720px;margin-inline:auto;padding-block:22px;display:flex}.flow-section:first-child{padding-top:12px}.flow-section:last-child{padding-bottom:116px}.shelf-card{text-align:center;background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);flex-direction:column;align-self:center;align-items:center;gap:8px;padding:26px 22px 20px;display:flex}.shelf-card .radar{width:min(280px,70vw)}.pane-title{font-family:var(--serif);letter-spacing:-.2px;color:var(--ink);margin:4px 0 2px;font-size:24px;font-weight:700}.radar{width:min(320px,78vw);height:auto;margin:6px auto;display:block;overflow:visible}.radar-ring{fill:none;stroke:var(--line);stroke-width:.4px}.radar-spoke{stroke:var(--line-soft);stroke-width:.5px}.radar-shape{fill:#b9543a2e;stroke:var(--accent);stroke-width:1px;stroke-linejoin:round}.radar-word{letter-spacing:.3px;fill:var(--ink-faint);font-size:4.4px}.map-pick{align-items:center;min-height:68px;margin-top:10px;display:flex}.map-pick-book{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;text-align:left;align-items:center;gap:9px;max-width:100%;padding:8px 11px 8px 8px;font-family:inherit;animation:.14s ease-out both picker-in;display:flex}.map-pick-book .book-cover{flex-shrink:0;width:34px;height:50px}.map-pick-hint{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.map-tip-text{flex-direction:column;gap:2px;min-width:0;display:flex}.map-tip-title{color:var(--ink);font-size:12.5px;font-weight:700;line-height:1.25}.map-tip-author{color:var(--ink-soft);font-size:11.5px}.territory-dot.is-picked{fill:var(--accent-dark);opacity:1}@media (hover:hover){.territory-dot{cursor:pointer}}.pct-list{flex-direction:column;gap:18px;padding-top:6px;display:flex}.pct-stat{color:var(--ink);margin:0 0 7px;font-size:16px}.pct-stat strong{font-weight:750}.pct-number{font-family:var(--serif);color:var(--accent-dark);font-size:19px;font-weight:700}.pct-track{background:var(--paper-2);border:1px solid var(--line-soft);border-radius:999px;height:6px;overflow:hidden}.pct-fill{background:var(--accent);opacity:.85;border-radius:999px;height:100%;display:block}.pct-footnote{color:var(--ink-faint);margin:10px 0 0;font-size:12.5px;line-height:1.5}.territory-grid-wrap{grid-template-columns:auto 1fr auto;grid-template-areas:".top.""left map right"".bottom.";place-items:center;gap:6px;display:grid}.territory-word{letter-spacing:.5px;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.territory-word.is-top{grid-area:top}.territory-word.is-bottom{grid-area:bottom}.territory-word.is-left{writing-mode:vertical-rl;grid-area:left;transform:rotate(180deg)}.territory-word.is-right{writing-mode:vertical-rl;grid-area:right}.territory-wrap{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius-sm);grid-area:map;width:100%;padding:8px;position:relative}.territory-map{aspect-ratio:5/4;width:100%;height:auto;display:block}.territory-grid{stroke:var(--line);stroke-width:.5px;stroke-dasharray:2 2}.territory-home-rect{fill:var(--accent);opacity:.07}.territory-dot{fill:var(--ink-soft);opacity:.45}.territory-dot.is-home{fill:var(--accent);opacity:.8}.territory-home{color:var(--ink);margin:12px 0;font-size:13.5px;line-height:1.5}.author-shelves{flex-direction:column;gap:10px;padding-bottom:12px;display:flex}.author-row{align-items:center;gap:12px;display:flex}.author-spines{align-items:flex-end;gap:2.5px;display:flex}.author-spine{background:var(--accent);opacity:.85;border-radius:2px 2px 1px 1px;width:7px;height:24px}.author-spine:nth-child(2n){opacity:.6;height:21px}.author-spine:nth-child(3n){opacity:.72;height:26px}.author-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.author-count{font-variant-numeric:tabular-nums;color:var(--ink-faint);margin-left:auto;font-size:13px;font-weight:700}.home-scroll{flex-direction:column;flex:1;gap:14px;width:100%;min-height:0;padding:2px 0 96px;display:flex;overflow-y:auto}.home-stack-head{align-items:baseline;gap:10px;min-width:0;padding:13px 16px 11px;display:flex}.home-stack-title{max-width:100%;font-family:var(--serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:19px;font-weight:650;overflow:hidden}.card-swap-face{transition:opacity .2s,visibility .2s}.card-swap .card-swap-back,.card-swap.is-back .card-swap-front{opacity:0;visibility:hidden}.card-swap.is-back .card-swap-back{opacity:1;visibility:visible}.library-swap{flex:1;min-height:0;display:grid}.library-swap>.card-swap-face{flex-direction:column;grid-area:1/1;min-width:0;min-height:0;display:flex}.home-you-swap{flex-shrink:0;min-height:0;transition:min-height .25s;position:relative}.home-you-swap.is-back{min-height:min(420px,62dvh)}.home-you.home-you-back{position:absolute;inset:0;overflow-y:auto}.home-you-close{z-index:2;background:var(--paper-2);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.home-you-back .flow-section{padding-block:14px 24px}.home-you-back .shelf-card{box-shadow:none;background:0 0;border:0;padding:20px 16px}.home-you-back .shelf-card .radar{width:min(220px,58vw)}.home-you-back .empty-state,.home-you-back .profile-loading,.home-you-back .profile-error{flex:1;min-height:0;padding:24px 18px}@media (prefers-reduced-motion:reduce){.card-swap-face,.home-you-swap{transition:none}}.home-you{border:1.5px solid var(--accent);border-radius:var(--radius);background:var(--card);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden;box-shadow:0 4px 16px #b9543a38}.home-you-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;font-family:inherit;display:flex;overflow:hidden}.home-you-main .home-stack-head{flex-shrink:0}.home-you .home-stack-head{background:linear-gradient(180deg, var(--accent), var(--accent-dark));flex-direction:column;align-items:flex-start;gap:3px}.home-you .home-stack-sub{white-space:normal;max-width:100%}.home-you .home-stack-title{color:#fffdf8;font-size:22px}.home-you .home-stack-sub{color:#fff0e4d9}.reader-card-row{text-align:left;border:0;border-top:1.5px solid var(--line);background:var(--card);cursor:pointer;flex-shrink:0;align-items:center;gap:14px;padding:10px 16px;font-family:inherit;display:flex}.home-stack-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.home-stacks{flex-direction:column;flex-shrink:0;margin-top:8px;display:flex}.home-stacks-filter{background:var(--paper-2);border-radius:999px;align-self:flex-start;gap:2px;padding:3px;display:flex}.home-stacks-filter button{color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:700;transition:background .15s,color .15s}.home-stacks-filter button.is-on{background:var(--card);color:var(--accent);box-shadow:0 1px 3px #3c2a192e}.home-stack-list{margin:8px 0 0;padding:0;list-style:none}.home-row{border-bottom:1px solid var(--line-soft)}.home-row-main{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:13px;width:100%;padding:12px 2px;font-family:inherit;display:flex}.home-row-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.home-row-title{font-family:var(--serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:17.5px;font-weight:650;line-height:1.15;overflow:hidden}.home-row-meta{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;display:flex}.home-row-source{color:var(--ink-soft);font-weight:650}.home-row-chevron{color:var(--ink-faint);flex-shrink:0;font-size:23px;line-height:1}.stack-thumb{background:var(--paper-2);border-radius:10px;flex:0 0 88px;width:88px;height:66px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #3c2a1914,0 2px 7px #3c2a1921}.stack-thumb.is-photo img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .28s}.stack-thumb.is-photo.is-loaded img{opacity:1}.stack-thumb.is-drawn{align-items:end;padding:5px 4px 0;display:grid}.stack-thumb.is-drawn .shelf-strip{min-height:0}.home-row.is-asking{border-radius:var(--radius-sm);background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);border-bottom-color:#0000;margin:4px 0}.home-row.is-asking .home-row-main{padding-inline:11px}.home-ask{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;padding:0 11px 12px;display:flex}.home-ask-q{color:var(--ink-soft);font-size:13px;font-weight:600}.home-ask-actions{gap:6px;display:flex}.home-ask-actions button{background:var(--ink);color:var(--card);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:7px 16px;font-size:12.5px;font-weight:700}.home-ask-actions button.is-quiet{background:var(--card);color:var(--ink-soft);box-shadow:inset 0 0 0 1.5px var(--line)}@media (hover:hover){.home-row-main:hover .home-row-title{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px}.home-ask-actions button:hover{background:var(--accent);color:#fffdf8}}.home-card-glyph{width:52px;height:52px;color:var(--accent);flex:none;place-items:center;display:grid}.home-card-glyph .radar{width:52px;height:52px;margin:0}.home-card-text{flex-direction:column;gap:2px;min-width:0;display:flex}.home-card-owner{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:650;overflow:hidden}.home-card-name{font-family:var(--serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:650;overflow:hidden}.home-card-name.is-pending{color:var(--ink-faint);font-weight:500}.shelf-strip{overflow:hidden}.shelf-strip .shelf-books{padding:calc(15px * var(--zoom,1)) 14px 0;min-height:calc(150px * var(--zoom,1));flex-wrap:nowrap;overflow:hidden}.shelf-strip .standing{width:calc(92px * var(--zoom,1));flex:none}@media (width>=1000px){.home-stack-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;display:grid}.home-stack-list>.is-asking-item{grid-column:1/-1}}.shared-bar{min-width:0;padding:max(20px, env(safe-area-inset-top)) var(--pad) 10px;align-items:center;gap:10px;display:flex}.shared-bar .collection-title{animation:none}.shared-bar .wordmark-mark.is-home{flex-shrink:0}.shared-bar-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}@media (width<=460px){.shared-bar .account,.shared-bar .account-skeleton{display:none}}.shared-bar .wordmark{text-decoration:none}@media (width<=400px){.shared-bar .wordmark-text{display:none}}.shared .empty-state{margin:auto}.shared-head .photo-pile{flex-shrink:0}.time-rows{flex-direction:column;gap:10px;padding-bottom:12px;display:flex}.time-row{align-items:center;gap:12px;display:flex}.time-era{font-variant-numeric:tabular-nums;width:64px;color:var(--ink-faint);flex-shrink:0;font-size:12px;font-weight:700}.time-span{color:var(--ink);margin:12px 0;font-size:13.5px;line-height:1.5}.time-span strong{font-weight:700}.test-banner{border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn);align-items:center;gap:10px;margin:0 0 10px;padding:9px 13px;font-size:13.5px;font-weight:600;display:flex}.test-banner button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12.5px;font-weight:700}.stack-tools .photo-pile-shot,.shared-bar .photo-pile-shot{padding:2px 2px 7px}.stack-tools .photo-pile-shot img,.shared-bar .photo-pile-shot img{width:26px;height:32px}.stack-tools .photo-pile-shot+.photo-pile-shot,.shared-bar .photo-pile-shot+.photo-pile-shot{margin-left:-20px}.photo-pile{cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:transform .12s;display:inline-flex;position:relative}.photo-pile:active{transform:scale(.96)}.photo-pile-shot{background:#fffdf8;border-radius:3px;padding:3px 3px 9px;display:block;box-shadow:0 2px 8px #3c2a194d}.photo-pile-shot+.photo-pile-shot{margin-left:-26px}.photo-pile-shot img{object-fit:cover;border-radius:1.5px;width:34px;height:42px;display:block}.photo-pile-count{color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800;position:absolute;bottom:0;right:-2px;box-shadow:0 1px 3px #3c2a1933}.photo-lightbox{z-index:60;cursor:zoom-out;background:#18110beb;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex;position:fixed;inset:0}.photo-lightbox:has(.photo-lightbox-thumbs){padding-bottom:112px}.photo-lightbox>img{border-radius:8px;max-width:100%;max-height:calc(100% - 110px);box-shadow:0 30px 80px #0009}.photo-lightbox-meta{top:max(26px, env(safe-area-inset-top));white-space:nowrap;text-overflow:ellipsis;max-width:min(70vw,520px);font-family:var(--serif);color:#fff0e4e6;text-shadow:0 1px 3px #00000080;margin:0;font-size:14.5px;font-style:italic;line-height:1.4;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.photo-lightbox-thumbs{left:50%;bottom:max(14px, env(safe-area-inset-bottom));cursor:default;background:#fffdf81a;border-radius:12px;gap:8px;padding:6px;display:flex;position:absolute;transform:translate(-50%)}.photo-lightbox-thumbs button{cursor:pointer;opacity:.65;background:0 0;border:2px solid #0000;border-radius:7px;padding:0;overflow:hidden}.photo-lightbox-thumbs button.is-active{opacity:1;border-color:#fffdf8}.photo-lightbox-thumbs img{object-fit:cover;width:40px;height:50px;display:block}.photo-lightbox-close{top:max(16px, env(safe-area-inset-top));color:#fffdf8;cursor:pointer;background:#fffdf824;border:none;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:absolute;right:16px}.share-sheet{min-width:230px}.share-opt{color:var(--ink);cursor:pointer;align-items:center;gap:10px;padding:4px 2px;font-size:14.5px;font-weight:600;display:flex}.share-opt input{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0;margin:0}.welcome{margin:calc(-1 * var(--shell-content-top)) calc(-1 * var(--pad)) calc(-1 * max(20px, env(safe-area-inset-bottom)));flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.welcome-mosaic{opacity:.72;pointer-events:none;justify-content:center;gap:8px;animation:.6s ease-out welcome-fade-in;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}@keyframes welcome-fade-in{0%{opacity:0}to{opacity:.72}}.welcome-mosaic-col{flex:0 0 var(--cover-w);height:100%;overflow:hidden}.welcome-mosaic-track{--gap:8px;gap:var(--gap);flex-direction:column;animation:linear infinite welcome-drift;display:flex}.welcome-mosaic-col:nth-child(2n) .welcome-mosaic-track{animation-direction:reverse}.welcome-mosaic-slot{aspect-ratio:2/3;background:linear-gradient(100deg, var(--paper-2) 30%, #f6f0e4 46%, var(--paper-2) 62%);background-size:220% 100%;border-radius:3px;width:100%;animation:2.4s linear infinite welcome-slot-shimmer;box-shadow:0 4px 12px #3c2a1929}@keyframes welcome-slot-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.welcome-mosaic-track img{aspect-ratio:2/3;object-fit:cover;background:var(--paper-2);opacity:0;border-radius:3px;width:100%;transition:opacity .5s;box-shadow:0 4px 12px #3c2a1947}.welcome-mosaic-track img.is-in{opacity:1}@keyframes welcome-drift{0%{transform:translateY(0)}to{transform:translateY(calc(-50% - var(--gap) / 2))}}.welcome-pitch{z-index:2;text-align:center;-webkit-backdrop-filter:blur(18px)saturate(.85);background:#f8f3e9d1;border-radius:24px;flex-direction:column;align-items:center;gap:6px;max-width:320px;padding:22px 26px 24px;display:flex;position:relative;box-shadow:inset 0 1px #fff9,0 18px 46px #3c2a1933}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.welcome-pitch{background:#f8f3e9f7}}.welcome-lockup{align-items:center;gap:12px;display:flex}.welcome-lockup .empty-mark{border-radius:14px;width:44px;height:44px;margin:0;box-shadow:0 8px 18px #b9543a47}.welcome-title{font-family:var(--serif);color:var(--ink);margin:0;font-size:30px;font-weight:700;line-height:1.1}.welcome-sub{color:var(--ink-soft);max-width:300px;margin:2px 0 10px;font-size:15px;line-height:1.45}.welcome-cta{color:#1f1f1f;letter-spacing:.15px;background:#fff;border:1px solid #747775;border-radius:999px;gap:10px;height:40px;padding:0 12px;font-family:Google Sans,Roboto,ui-rounded,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;line-height:20px;box-shadow:0 8px 22px #3c2a192e}.welcome-cta:active{background:#f2f2f2}.welcome-cta svg{flex:none}@media (prefers-reduced-motion:reduce){.welcome-mosaic-track,.welcome-mosaic,.welcome-mosaic-slot{animation:none}}
