@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-ext-400-normal-p18AlW_x.woff2) format("woff2"),url(/assets/dm-serif-display-latin-ext-400-normal-B1toqZab.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-normal-C5_t9oOD.woff2) format("woff2"),url(/assets/dm-serif-display-latin-400-normal-_kVFYEpx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-ext-400-italic-DiLdooSn.woff2) format("woff2"),url(/assets/dm-serif-display-latin-ext-400-italic-D6UvgSoX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-italic-DpcbibHm.woff2) format("woff2"),url(/assets/dm-serif-display-latin-400-italic-BgxzcTJK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #fbf7f2;--card: #ffffff;--lavender: #d9d2f2;--sky: #cfe0ee;--sage: #cfe1cf;--peach: #f7d3c1;--butter: #f6e7b8;--orchid: #ebd2f1;--teal: #bfe1dc;--rose: #f4d1de;--olive: #d5e1b7;--stone: #dfdad2;--lavender-edge: #b9adde;--sky-edge: #a4c4dd;--sage-edge: #a8c8a8;--peach-edge: #eab296;--butter-edge: #e0c974;--orchid-edge: #d2a0de;--teal-edge: #92c9c1;--rose-edge: #e49db7;--olive-edge: #b7ca89;--stone-edge: #c1b9ab;--ink: #3a2e4f;--muted: #5c4f6d;--coral: #b8452f;--coral-ink: #9e3720;--hair: rgba(58, 46, 79, .1);--hair-strong: rgba(58, 46, 79, .16);--serif: "DM Serif Display", "Iowan Old Style", Georgia, serif;--sans: "Outfit Variable", "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--r-sheet: 28px;--r-tile: 24px;--r-card: 20px;--r-plate: 16px;--r-pill: 999px;--shadow-soft: 0 2px 4px rgba(58, 46, 79, .03), 0 10px 24px -14px rgba(58, 46, 79, .22);--shadow-lift: 0 4px 10px rgba(58, 46, 79, .05), 0 22px 44px -20px rgba(58, 46, 79, .32);--shadow-sheet: 0 40px 90px -30px rgba(58, 46, 79, .5);--gutter: 16px;--measure: 1180px;--tone: var(--lavender);--tone-edge: var(--lavender-edge)}[data-tone=lavender]{--tone: var(--lavender);--tone-edge: var(--lavender-edge)}[data-tone=sky]{--tone: var(--sky);--tone-edge: var(--sky-edge)}[data-tone=sage]{--tone: var(--sage);--tone-edge: var(--sage-edge)}[data-tone=peach]{--tone: var(--peach);--tone-edge: var(--peach-edge)}[data-tone=butter]{--tone: var(--butter);--tone-edge: var(--butter-edge)}[data-tone=orchid]{--tone: var(--orchid);--tone-edge: var(--orchid-edge)}[data-tone=teal]{--tone: var(--teal);--tone-edge: var(--teal-edge)}[data-tone=rose]{--tone: var(--rose);--tone-edge: var(--rose-edge)}[data-tone=olive]{--tone: var(--olive);--tone-edge: var(--olive-edge)}[data-tone=stone]{--tone: var(--stone);--tone-edge: var(--stone-edge)}*,*:before,*:after{box-sizing:border-box}html{background-color:var(--paper);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--sticky-h, 0px) + 8px)}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(58rem 40rem at 10% -12%,rgba(217,210,242,.5),transparent 62%),radial-gradient(48rem 34rem at 96% 2%,rgba(247,211,193,.38),transparent 64%),radial-gradient(44rem 30rem at 72% 104%,rgba(207,224,238,.3),transparent 66%);background-repeat:no-repeat}body{margin:0;background:transparent;color:var(--ink);font-family:var(--sans);font-size:1rem;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.005em;margin:0}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}a{color:var(--coral-ink);text-decoration-color:#9e372059;text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{text-decoration-color:currentColor}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--coral-ink);outline-offset:3px}::selection{background:var(--butter);color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:100}.skip-link:focus{left:var(--gutter);top:12px;padding:12px 20px;min-height:44px;display:inline-flex;align-items:center;background:var(--coral);color:#fff;border-radius:var(--r-pill);text-decoration:none;box-shadow:var(--shadow-lift)}.app{min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border:1.5px solid var(--hair-strong);border-radius:var(--r-pill);background:var(--card);color:var(--ink);font-family:var(--sans);font-size:.9375rem;font-weight:600;letter-spacing:.005em;text-decoration:none;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease}.btn:hover{border-color:var(--ink);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-small{min-height:40px;padding:8px 16px;font-size:.875rem}.btn-primary{background:var(--coral);border-color:var(--coral);color:#fff}.btn-primary:hover{background:var(--coral-ink);border-color:var(--coral-ink);color:#fff}.btn-danger{color:var(--coral-ink);border-color:#9e372066}.btn-danger:hover{background:var(--coral);border-color:var(--coral);color:#fff}.btn-quiet{background:transparent;border-color:transparent;color:var(--muted)}.btn-quiet:hover{background:var(--card);border-color:var(--hair-strong);color:var(--ink)}.btn-link{border:0;background:none;padding:0;color:var(--coral-ink);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.chip{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;min-height:40px;border-radius:var(--r-pill);background:var(--tone);color:var(--ink);font-family:var(--sans);font-size:.875rem;font-weight:600;text-decoration:none;line-height:1.3}.chip-head{font-family:var(--serif);font-size:1.25rem;font-weight:400;padding:8px 12px 8px 20px;letter-spacing:-.005em;transition:box-shadow .14s ease,transform .14s ease}a.chip-head:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px);text-decoration:none}.chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:var(--r-pill);background:#ffffffb8;color:var(--ink);font-family:var(--sans);font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.masthead{position:sticky;top:0;z-index:30;padding:12px var(--gutter);background:#fbf7f2c7;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}.topbar{max-width:var(--measure);margin:0 auto;display:flex;align-items:center;gap:12px;padding:8px 12px 8px 18px;background:var(--card);border-radius:var(--r-pill);box-shadow:var(--shadow-soft)}.brand{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;min-height:44px;color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:1.25rem;line-height:1.1;letter-spacing:-.01em}.brand-mark{position:relative;flex:0 0 auto;width:34px;height:22px}.brand-mark span{position:absolute;top:0;width:22px;height:22px;border-radius:50%;mix-blend-mode:multiply}.brand-mark span:nth-child(1){left:0;background:var(--lavender)}.brand-mark span:nth-child(2){left:6px;background:var(--peach)}.brand-mark span:nth-child(3){left:12px;background:var(--sky)}.brand-the{color:var(--muted)}.searchbox{position:relative;flex:1 1 auto;min-width:0}.search-glyph{position:absolute;left:18px;top:50%;width:12px;height:12px;margin-top:-8px;border:2px solid var(--muted);border-radius:50%;pointer-events:none}.search-glyph:after{content:"";position:absolute;left:9px;top:9px;width:7px;height:2px;background:var(--muted);border-radius:2px;transform:rotate(45deg);transform-origin:left center}.search{width:100%;min-height:44px;padding:10px 18px 10px 44px;border:1.5px solid transparent;border-radius:var(--r-pill);background:var(--paper);font-size:1rem;text-overflow:ellipsis;color:var(--ink);transition:border-color .14s ease,background-color .14s ease;-webkit-appearance:none;appearance:none}.search::placeholder{color:var(--muted);opacity:1}.search:focus{outline:none;background:var(--card);border-color:var(--coral-ink);box-shadow:0 0 0 4px #9e372024}.topbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.editbar-band{position:sticky;top:var(--masthead-h, 84px);z-index:29;padding:0 var(--gutter) 12px;background:#fbf7f2c7;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}.editbar{max-width:var(--measure);margin:0 auto}.only-narrow,.label-narrow{display:none!important}.editbar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 20px 8px 8px;background:var(--butter);border-radius:var(--r-pill)}.editbar-note{color:var(--ink);font-size:.8125rem;font-weight:500;padding-left:6px}.main{max-width:var(--measure);margin:0 auto;padding:24px var(--gutter) 96px}.main:focus{outline:none}.page-title[tabindex="-1"]:focus{outline:none}.page{display:flex;flex-direction:column;gap:32px}.notice,.empty{padding:28px;background:var(--card);border-radius:var(--r-tile);box-shadow:var(--shadow-soft);color:var(--muted);font-size:1rem}.notice-error{background:var(--peach);color:var(--ink)}.page-intro{max-width:62ch;color:var(--muted)}.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8125rem;font-weight:600}.crumbs li{display:flex;align-items:center;gap:6px}.crumbs li+li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--tone-edge)}.crumbs a,.crumbs span{display:inline-flex;align-items:center;min-height:40px;padding:6px 16px;border-radius:var(--r-pill);background:var(--card);color:var(--muted);text-decoration:none;max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbs a:hover{color:var(--ink);box-shadow:var(--shadow-soft)}.crumbs [aria-current=page] span,.crumbs [aria-current=page] a{background:var(--tone);color:var(--ink)}.crumbs:not([data-tone]) [aria-current=page] span,.crumbs:not([data-tone]) [aria-current=page] a{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--hair-strong)}.crumbs:not([data-tone]) li+li:before{background:var(--hair-strong)}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}.page-head-washed,.page-head-sheet,.page-head-ink{padding:28px 32px;border-radius:var(--r-sheet)}.page-head-washed{background:var(--tone)}.page-head-sheet{background:var(--card);box-shadow:var(--shadow-soft)}.page-head-ink{background:var(--ink);color:var(--paper)}.page-head-ink .sort-control{color:var(--paper)}.page-title{font-size:clamp(1.9rem,1.3rem + 2.2vw,3rem);flex:1 1 14ch;margin-right:auto}.page-count{font-size:.875rem;font-weight:600;color:var(--ink);padding:6px 14px;min-height:34px;display:inline-flex;align-items:center;background:#ffffffb3;border-radius:var(--r-pill);font-variant-numeric:tabular-nums}.page-all{display:inline-flex;align-items:center;min-height:40px;font-size:.875rem;font-weight:600}.sort-control{display:inline-flex;align-items:center;gap:10px;font-size:.8125rem;font-weight:600;color:var(--ink)}.sort-control select{min-height:40px;padding:8px 14px;border:1.5px solid transparent;border-radius:var(--r-pill);background:var(--card);color:var(--ink);font-size:.875rem;font-weight:600;cursor:pointer}.sort-control select:focus-visible{border-color:var(--coral-ink)}.page-home{gap:48px}.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row dense;gap:16px}.tile{position:relative;display:flex;flex-direction:column;padding:24px;border-radius:var(--r-tile);background:var(--card);box-shadow:var(--shadow-soft);color:var(--ink);text-decoration:none;overflow:hidden}a.tile{transition:transform .16s ease,box-shadow .16s ease}a.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.tile-kicker{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.tile-hero{grid-column:span 4;justify-content:center;gap:16px;padding:40px;background:radial-gradient(28rem 20rem at 8% 110%,rgba(207,225,207,.85),transparent 60%),radial-gradient(26rem 18rem at 96% -20%,rgba(247,211,193,.9),transparent 62%),radial-gradient(30rem 22rem at 58% 120%,rgba(246,231,184,.7),transparent 58%),var(--lavender)}.hero-name{font-family:var(--serif);font-size:clamp(2.1rem,1.2rem + 3.4vw,3.6rem);line-height:1.04;letter-spacing:-.02em;max-width:14ch}.hero-line{max-width:44ch;font-size:1.0625rem;line-height:1.55;color:var(--ink)}.hero-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.stat{display:inline-flex;align-items:center;min-height:34px;padding:6px 16px;border-radius:var(--r-pill);background:#ffffffad;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.tile-pick{grid-column:span 2;grid-row:span 2;background:var(--tone);align-items:center;text-align:center;transition:background-color .4s ease}.pick-book{display:flex;flex-direction:column;align-items:center;gap:12px;flex:1 1 auto;justify-content:center;width:100%;color:var(--ink);text-decoration:none}.pick-plate{--plate-pad: 10px;position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:190px;aspect-ratio:3 / 4;padding:var(--plate-pad);border-radius:var(--r-plate);background:#ffffff9e}.pick-title{font-family:var(--serif);font-size:1.1875rem;line-height:1.22;max-width:22ch}.pick-author{font-size:.8125rem;font-weight:500;color:var(--muted)}.btn-shuffle{margin-top:18px;background:var(--coral);border-color:var(--coral);color:#fff}.btn-shuffle:hover{background:var(--coral-ink);border-color:var(--coral-ink);color:#fff}.shuffle-mark{width:14px;height:14px;border:2px solid currentColor;border-radius:50%;border-right-color:transparent;border-bottom-color:transparent;transform:rotate(-45deg);transition:transform .4s ease}.btn-shuffle:hover .shuffle-mark{transform:rotate(315deg)}.tile-hint{margin-top:10px;font-size:.75rem;font-weight:500;color:var(--muted)}.tile-recent{grid-column:1 / -1}.recent-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.recent-item{display:flex;flex-direction:column;gap:8px;color:var(--ink);text-decoration:none}.recent-plate{--plate-pad: 8px;position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 4;padding:var(--plate-pad);border-radius:var(--r-plate);background:var(--tone);transition:transform .16s ease}.recent-item:hover .recent-plate{transform:translateY(-3px)}.recent-plate .plate{padding:10px 8px}.recent-plate .plate-title{font-size:.75rem;line-height:1.18;-webkit-line-clamp:5}.recent-plate .plate-author{display:none}.recent-title{font-family:var(--serif);font-size:.875rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tile-section{grid-column:span 2;justify-content:space-between;gap:12px;min-height:148px;background:var(--tone)}.tile-section-wide{grid-column:span 3}.tile-count{font-family:var(--serif);font-size:2.25rem;line-height:1;color:var(--muted);font-variant-numeric:lining-nums}.tile-section-wide .tile-count{font-size:3rem}.tile-name{font-family:var(--serif);font-size:1.25rem;line-height:1.2;letter-spacing:-.005em}.tile-section-wide .tile-name{font-size:1.5rem}.tile-all{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:flex-start;gap:18px;min-height:0;background:var(--ink);color:var(--paper)}.tile-all .tile-count,.tile-all .tile-name{color:var(--paper)}.tile-all .tile-count{color:#fbf7f2bf}.tile-section.tile-room{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:6px 18px;min-height:0;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--hair-strong),var(--shadow-soft)}.tile-room-summary{font-size:.875rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.group-head{display:flex;align-items:center;gap:14px;font-size:1rem}.group-head:after{content:"";flex:1 1 auto;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--tone-edge),rgba(58,46,79,0))}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(146px,1fr));gap:22px 18px;align-items:start}.card{display:flex;flex-direction:column;gap:6px;min-width:0}.card-link{display:flex;flex-direction:column;gap:10px;color:var(--ink);text-decoration:none}.card-plate{--plate-pad: 12px;position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 4;padding:var(--plate-pad);border-radius:var(--r-card);background:var(--tone);transition:transform .16s ease,box-shadow .16s ease}.card-link:hover .card-plate{transform:translateY(-4px);box-shadow:var(--shadow-lift)}.card-title{font-family:var(--serif);font-size:1.0625rem;line-height:1.24;letter-spacing:-.005em;overflow-wrap:break-word}.card-link:hover .card-title{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.card-author{display:flex;align-items:center;min-height:40px;font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--muted);text-decoration:none}.card-author:hover{color:var(--coral-ink);text-decoration:underline;text-underline-offset:3px}.card-volumes{font-size:.75rem;font-weight:600;color:var(--muted)}.card-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.grid-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.cover{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 2px 4px #3a2e4f1f,0 12px 22px -12px #3a2e4f73}.card-plate>.cover,.recent-plate>.cover,.pick-plate>.cover{position:absolute;top:var(--plate-pad);left:var(--plate-pad);width:calc(100% - var(--plate-pad) * 2);height:calc(100% - var(--plate-pad) * 2);max-width:none;max-height:none;border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 3px rgba(58,46,79,.2)) drop-shadow(0 10px 14px rgba(58,46,79,.22))}.plate{display:flex;flex-direction:column;justify-content:center;gap:8px;width:100%;height:100%;padding:16px 14px;border-radius:8px;background:var(--paper);box-shadow:0 2px 4px #3a2e4f1a,0 12px 22px -14px #3a2e4f66;text-align:center;overflow:hidden}.plate-title{font-family:var(--serif);font-style:italic;font-size:.9375rem;line-height:1.22;color:var(--ink);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.plate-author{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plate-titled .plate-title{font-size:1.0625rem;line-height:1.24;-webkit-line-clamp:6}.card-link:hover .plate-titled .plate-title,.pick-book:hover .plate-titled .plate-title,.recent-item:hover .plate-titled .plate-title{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.pick-plate .plate-titled .plate-title{font-size:1.1875rem;line-height:1.22;-webkit-line-clamp:5}.recent-plate .plate-titled .plate-title{font-size:.8125rem;line-height:1.2;-webkit-line-clamp:6}.cover-large{width:100%;max-width:264px;height:auto;max-height:440px;border-radius:8px}.book-top{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:40px;align-items:start}.book-cover{display:flex;align-items:center;justify-content:center;padding:28px;border-radius:var(--r-sheet);background:var(--tone);min-height:260px}.book-cover .plate{min-height:300px}.book-detail{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.book-section-chip{font-size:1rem;padding:6px 18px;min-height:40px}.book-title{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.1rem);line-height:1.06;letter-spacing:-.015em;max-width:20ch}.book-author{font-size:1.0625rem;color:var(--ink)}.book-author a{display:inline-flex;align-items:center;min-height:40px}.book-by{color:var(--muted);font-style:italic}.book-actions{display:flex;gap:8px}.book-section-head{margin-top:12px;font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.book-description{max-width:64ch;font-size:1.0625rem;line-height:1.62}.book-description-empty{color:var(--muted);font-style:italic}.book-meta{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 0}.meta-chip{display:flex;align-items:baseline;gap:8px;padding:10px 18px;min-height:44px;border-radius:var(--r-pill);background:var(--card);box-shadow:var(--shadow-soft)}.meta-chip dt{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.meta-chip dd{margin:0;font-size:.9375rem;font-weight:600;color:var(--ink)}.book-shelf{font-variant-numeric:tabular-nums}.book-notes{width:100%;max-width:31rem;margin-top:8px;padding:4px 20px;background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-soft)}.book-notes summary{padding:14px 0;min-height:44px;display:flex;align-items:center;gap:10px;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;list-style:none}.book-notes summary::-webkit-details-marker{display:none}.book-notes summary:before{content:"";flex:0 0 auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg) translate(-1px,-1px);transition:transform .16s ease}.book-notes[open] summary:before{transform:rotate(45deg) translate(-1px,-1px)}.book-notes summary:hover{color:var(--ink)}.book-notes p{padding-bottom:18px;font-size:.9375rem;line-height:1.6;color:var(--muted)}.related{display:flex;flex-direction:column;gap:18px}.modal-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--gutter);background:#3a2e4f5c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow-y:auto}.modal{width:100%;max-width:660px;margin:auto;padding:32px;background:var(--paper);border-radius:var(--r-sheet);box-shadow:var(--shadow-sheet)}.modal-narrow{max-width:420px}.modal-title{font-size:1.75rem;margin-bottom:24px}.confirm-message{font-size:1.0625rem;line-height:1.5;margin-bottom:24px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.book-form{display:flex;flex-direction:column;gap:18px}.book-form label{display:flex;flex-direction:column;gap:7px;min-width:0}.book-form label>span{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.book-form label>span em{font-style:normal;font-weight:600;text-transform:none;letter-spacing:.02em;color:var(--coral-ink)}.book-form input,.book-form select,.book-form textarea{width:100%;min-height:44px;padding:10px 16px;border:1.5px solid var(--hair-strong);border-radius:var(--r-plate);background:var(--card);font-size:.9375rem;transition:border-color .14s ease,box-shadow .14s ease}.book-form textarea{border-radius:var(--r-card);line-height:1.55;resize:vertical}.book-form input:focus,.book-form select:focus,.book-form textarea:focus{outline:none;border-color:var(--coral-ink);box-shadow:0 0 0 4px #9e372024}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-year,.form-volumes{max-width:180px}.form-error{padding:12px 18px;border-radius:var(--r-plate);background:var(--peach);color:var(--ink);font-size:.875rem;font-weight:600}.form-note{margin:0;font-size:.9375rem;line-height:1.55;color:var(--muted)}.form-done{margin:0;padding:12px 18px;border-radius:var(--r-plate);background:var(--sage);color:var(--ink);font-size:.875rem;font-weight:600}.cover-field{display:flex;flex-direction:column;gap:10px}.cover-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.cover-row{display:flex;gap:18px;align-items:flex-start}.cover-thumb{flex:0 0 auto;width:96px;height:128px;object-fit:contain;border-radius:var(--r-plate);background:var(--lavender);padding:6px}.cover-side{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;min-width:0}.cover-actions{display:flex;flex-wrap:wrap;gap:8px}.cover-url span{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.cover-note{font-size:.75rem;line-height:1.45;color:var(--muted)}.cover-note:empty{display:none}.location-note{margin:-8px 0 0;font-size:.8125rem;color:var(--muted)}.book-form select:disabled{color:var(--muted);background-color:var(--paper);cursor:default}.book-cover.is-editing{flex-direction:column;align-items:stretch;gap:18px}.book-cover.is-editing>.cover,.book-cover.is-editing>.plate{align-self:center}.book-cover-edit{min-width:0;padding:16px;border-radius:var(--r-card);background:#ffffffc7}.review-group,.shelf-group{display:flex;flex-direction:column;gap:16px}.group-head-paper .chip{background:var(--card);box-shadow:var(--shadow-soft)}.group-head-paper .chip-count{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--hair-strong)}.group-head-paper:after{background:linear-gradient(90deg,var(--hair-strong),rgba(58,46,79,0))}.review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.review-card{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--card);border-radius:var(--r-tile);box-shadow:var(--shadow-soft)}.review-body{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:start}.review-plate{--plate-pad: 10px;position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 4;padding:var(--plate-pad);border-radius:var(--r-plate);background:var(--tone)}.review-plate>.cover{position:absolute;top:var(--plate-pad);left:var(--plate-pad);width:calc(100% - var(--plate-pad) * 2);height:calc(100% - var(--plate-pad) * 2);max-width:none;max-height:none;border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 3px rgba(58,46,79,.2)) drop-shadow(0 10px 14px rgba(58,46,79,.22))}.review-blank{min-height:100%}.review-text{display:flex;flex-direction:column;gap:8px;min-width:0}.review-pos{align-self:flex-start;display:inline-flex;align-items:center;min-height:28px;padding:4px 14px;border-radius:var(--r-pill);background:var(--tone);color:var(--ink);font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.review-title{font-size:1.25rem;overflow-wrap:break-word}.review-title a{display:inline-block;padding:7px 0;color:var(--ink);text-decoration:none}.review-title a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.review-author{margin:0;font-size:.8125rem;font-weight:500;color:var(--muted)}.review-raw{margin:0;font-size:.9375rem;line-height:1.5;color:var(--ink);overflow-wrap:break-word}.review-parts{margin:0;display:flex;flex-direction:column;gap:10px}.review-part dt{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.review-part dd{margin:2px 0 0;font-size:.9375rem;line-height:1.5;color:var(--ink);overflow-wrap:break-word}.review-question{margin:2px 0 0;padding:12px 18px;border-radius:var(--r-plate);background:var(--butter);color:var(--ink);font-size:.9375rem;font-weight:600;line-height:1.45;overflow-wrap:break-word}.review-actions{display:flex;flex-wrap:wrap;gap:10px}.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:4px 12px;width:max-content;max-width:min(560px,calc(100vw - 32px));padding:10px 10px 10px 20px;border-radius:var(--r-plate);background:var(--ink);color:var(--paper);box-shadow:0 6px 14px #3a2e4f2e,0 22px 40px -18px #3a2e4f80;transition:opacity .35s cubic-bezier(.16,1,.3,1)}.toast.is-leaving{opacity:0}.toast-text{flex:1 1 auto;min-width:0;margin:0;padding:4px 0;font-size:.9375rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.toast>.toast-text:only-child{padding-right:10px}.toast-action{flex:0 0 auto;min-height:44px;padding:8px 14px;border:1.5px solid rgba(251,247,242,.55);border-radius:12px;background:transparent;color:var(--paper);font-size:.9375rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.toast-action:hover{background:#fbf7f21f;border-color:var(--paper)}.toast-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:#fbf7f2cc;cursor:pointer}.toast-close:hover{background:#fbf7f21f;color:var(--paper)}.toast :focus-visible{outline-color:var(--butter)}.room{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px;align-items:start}.room-case{display:flex;flex-direction:column;gap:14px;padding:24px 28px;border-radius:var(--r-sheet);background:var(--card);box-shadow:var(--shadow-soft)}.room-case-head{display:flex;align-items:center;gap:12px;font-size:1.625rem}.room-case-head a{color:var(--ink);text-decoration:none}.room-case-head a:hover{color:var(--coral-ink);text-decoration:underline;text-underline-offset:4px}.room-case-head .chip-count,.room-shelf .chip-count{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--hair-strong)}.room-shelves{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.room-shelf{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:center;gap:16px;min-height:56px;padding:10px 12px 10px 18px;border-radius:var(--r-card);background:var(--paper);color:var(--ink);text-decoration:none;transition:transform .14s ease,box-shadow .14s ease}.room-shelf:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft);text-decoration:none}.room-shelf-name{font-family:var(--serif);font-size:1.125rem;line-height:1.2}.room-spines{display:flex;align-items:flex-end;gap:2px;height:36px;min-width:0;overflow:hidden}.room-spine{flex:1 1 0;min-width:2px;max-width:9px;height:100%;border-radius:3px;background:var(--tone);box-shadow:inset 0 0 0 1px var(--tone-edge)}.room-spine:nth-child(3n+2){height:86%}.room-spine:nth-child(5n+4){height:94%}.shelf-nav{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:-16px}.shelf-nav-next{margin-left:auto}.form-check{flex-direction:row;align-items:center;gap:12px;min-height:44px}.form-check input{width:22px;height:22px;min-height:0;flex:0 0 auto;margin:0;padding:0;accent-color:var(--coral)}.book-form .form-check>span{font-size:.9375rem;font-weight:600;letter-spacing:normal;text-transform:none;color:var(--ink)}.book-form input,.book-form select,.book-form textarea{font-size:1rem}.modal-form{position:relative}.field-error{margin:-10px 0 0;color:var(--coral-ink);font-size:.875rem;font-weight:600;line-height:1.45}.book-form [aria-invalid=true]{border-color:var(--coral-ink)}.cover-field-lead .cover-row{align-items:stretch}.cover-actions-lead{flex-direction:column;align-items:stretch;gap:10px}.cover-actions-lead .btn-small{align-self:flex-start}.btn-shoot{justify-content:flex-start;gap:12px;min-height:56px;padding:12px 20px;border-radius:var(--r-plate);border-color:var(--ink);font-size:1rem;text-align:left}.btn-icon{flex:0 0 auto}.place-step{display:flex;flex-direction:column;gap:14px}.pick-group{display:flex;flex-direction:column;gap:8px;min-width:0}.step-label{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.step-label-sub{letter-spacing:.04em;text-transform:none;font-size:.875rem;color:var(--ink)}.step-hint{margin:-4px 0 2px;font-size:.875rem;color:var(--muted)}.pick-grid{display:grid;gap:8px}.pick-grid-cases{grid-template-columns:repeat(auto-fill,minmax(min(100%,136px),1fr))}.pick-grid-shelves{grid-template-columns:repeat(auto-fill,minmax(min(100%,104px),1fr))}.book-form .pick{position:relative;display:flex;gap:0}.book-form .pick-input{position:absolute;top:50%;left:50%;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;opacity:0;clip-path:inset(50%);pointer-events:none}.book-form .pick>.pick-face{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:8px 14px;border:1.5px solid var(--hair-strong);border-radius:14px;background:var(--card);color:var(--ink);font-size:.9375rem;font-weight:600;letter-spacing:normal;text-transform:none;line-height:1.25;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.book-form .pick>.pick-face:hover{border-color:var(--ink)}.pick-sub{font-size:.8125rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.book-form .pick-input:checked+.pick-face{border-color:var(--ink);background:var(--ink);color:var(--paper)}.pick-input:checked+.pick-face .pick-sub{color:#fbf7f2d1}.pick-input:focus-visible+.pick-face{outline:3px solid var(--coral-ink);outline-offset:3px}.book-form .pick-quiet>.pick-face{background:transparent;color:var(--muted)}.book-form .pick-new>.pick-face{border-style:dashed;background:transparent}.pick-group[aria-invalid=true] .pick-face{border-color:#9e37208c}.book-form .place-other>span{font-size:.75rem}.place-step .location-note{margin:-4px 0 0}.place-step .field-error{margin:0}.dup-slot:empty{display:none}.dup-slot{margin-top:-8px}.dup-hint{margin:0;padding:10px 14px;border-radius:12px;background:var(--butter);color:var(--ink);font-size:.9375rem;line-height:1.45;overflow-wrap:anywhere}.dup-hint a{color:var(--coral-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}.more-fields{border-top:1px solid var(--hair-strong);border-bottom:1px solid var(--hair-strong)}.more-fields>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;min-height:56px;padding:14px 0 14px 28px;position:relative;list-style:none;cursor:pointer}.more-fields>summary::-webkit-details-marker{display:none}.more-fields>summary:before{content:"";position:absolute;left:6px;top:22px;width:8px;height:8px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg);transition:transform .18s ease}.more-fields[open]>summary:before{transform:rotate(45deg);top:19px}.more-title{font-weight:700;font-size:1rem;color:var(--ink)}.more-hint{font-size:.875rem;color:var(--muted)}.more-body{display:flex;flex-direction:column;gap:18px;padding:4px 0 20px}.form-footer{position:sticky;bottom:0;z-index:2;display:flex;flex-direction:column;gap:10px;margin:0 -32px -32px;padding:14px 32px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--hair);border-radius:0 0 var(--r-sheet) var(--r-sheet);background:var(--paper)}.form-footer .modal-actions{margin-top:0}.form-footer .form-error{margin:0}.card-noshelf{align-self:flex-start;padding:2px 8px;border:1.5px dashed var(--hair-strong);border-radius:6px;color:var(--muted);font-size:.75rem;font-weight:600}.card-place{align-self:flex-start;color:var(--muted);font-size:.75rem;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}.book-place{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;margin-top:-6px;font-size:1.0625rem;line-height:1.3}.book-place+.book-author{margin-top:-10px}.book-place-label{color:var(--muted)}.book-place a.book-shelf{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.book-place .book-shelf{font-variant-numeric:tabular-nums}span.book-shelf{font-weight:600}.book-place-none{padding:4px 12px;border:1.5px dashed var(--hair-strong);border-radius:8px;color:var(--muted);font-size:.9375rem;font-weight:600}.book-place .btn-link{min-height:44px;font-size:.9375rem}.search-head .page-title{font-size:clamp(1.375rem,1.1rem + 1.2vw,2rem)}.search-head .verdict{flex:1 1 100%;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:18px;border-top:1px solid var(--hair)}.verdict-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px}.verdict-word{font-family:var(--serif);font-size:clamp(1.625rem,1.3rem + 1.2vw,2.125rem);line-height:1.1;letter-spacing:-.01em;color:var(--ink)}.verdict-prefix .verdict-word{font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}.verdict-count{color:var(--muted);font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums}.verdict-copies{align-self:stretch;display:flex;flex-direction:column}.verdict-copies a{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;min-height:44px;padding:11px 0;border-bottom:1px solid var(--hair);color:var(--ink);text-decoration:none}.verdict-title{font-family:var(--serif);font-size:1.0625rem;line-height:1.25}.verdict-place{color:var(--coral-ink);font-weight:600;font-variant-numeric:tabular-nums;text-decoration:underline;text-decoration-color:#9e372059;text-underline-offset:3px;text-decoration-thickness:1.5px}.verdict-copies a:hover .verdict-place{text-decoration-color:currentColor}.verdict-place.is-missing{color:var(--muted);text-decoration-color:var(--hair-strong)}.verdict-extra,.verdict-more,.verdict-hint{color:var(--muted);font-size:.9375rem}.search-head .verdict .page-count{margin-top:4px}.loose-group{display:flex;flex-direction:column;gap:16px}.loose-group .page-intro a{color:var(--coral-ink);font-weight:600}.group-head-paper .chip-loose{background:transparent;box-shadow:inset 0 0 0 1.5px var(--hair-strong)}.loose-intro{margin:0}.loose-section{margin:0;font-size:.8125rem;color:var(--muted)}.quick-place{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--hair)}.quick-row{display:grid;grid-template-columns:6.5rem minmax(0,1fr);align-items:center;gap:8px 12px}.quick-case{font-family:var(--serif);font-size:1.0625rem;line-height:1.2}.quick-shelves{display:flex;flex-wrap:wrap;gap:8px}.quick-shelf{flex:0 1 auto;min-width:88px;min-height:48px;padding:8px 14px;border:1.5px solid var(--hair-strong);border-radius:12px;background:var(--card);color:var(--ink);font-size:.9375rem;font-weight:600;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.quick-shelf:hover:not(:disabled){border-color:var(--ink)}.quick-shelf:active:not(:disabled){background:var(--ink);color:var(--paper)}.quick-shelf:disabled{color:var(--muted);cursor:default}.quick-shelf[aria-busy=true]{border-color:var(--ink);color:var(--ink)}.quick-more{align-self:flex-start;min-height:44px}@media(max-width:760px){.form-footer{margin:0 -22px -22px;padding-left:22px;padding-right:22px;border-radius:0 0 var(--r-tile) var(--r-tile)}.field-error{margin-top:-10px}}@media(max-width:639px){.modal-overlay-sheet{align-items:flex-end;padding:12px 0 0}.modal-overlay-sheet .modal{margin:auto 0 0;max-width:none;min-height:100%;padding:22px var(--gutter) 22px;border-radius:var(--r-tile) var(--r-tile) 0 0}.modal-overlay-sheet .form-footer{margin:0 calc(var(--gutter) * -1) -22px;padding-left:var(--gutter);padding-right:var(--gutter);border-radius:0;box-shadow:0 -10px 24px -18px #3a2e4f59}.modal-overlay-sheet .modal-actions{flex-wrap:nowrap}.modal-overlay-sheet .modal-actions .btn{flex:1 1 0}.modal-overlay-sheet .modal-actions .btn-primary{flex-grow:2}.cover-field-lead .cover-thumb{width:72px;height:96px}.cover-field-lead .cover-row{gap:12px}.quick-row{grid-template-columns:minmax(0,1fr)}.quick-shelf{flex:1 1 calc(33% - 8px);min-width:0}.toast{width:calc(100vw - 32px)}}.book-form label.label-plain>span{font-size:.9375rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}.field-note{font-size:.8125rem;line-height:1.45;color:var(--muted)}.review-gate{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.review-gate .btn{min-height:44px}@media(any-pointer:coarse){.cover-actions .btn-small,.shelf-nav .btn-small,.editbar .btn-small{min-height:44px}}@media(min-width:1024px){:root{--gutter: 32px}.main{padding-top:32px}}@media(max-width:1023px){.bento{grid-template-columns:repeat(4,minmax(0,1fr))}.tile-hero{grid-column:span 2;padding:32px}.tile-pick{grid-column:span 2;grid-row:span 1}.tile-section,.tile-section-wide{grid-column:span 2}.tile-all{grid-column:1 / -1}.recent-row{grid-template-columns:repeat(6,minmax(0,1fr))}.tile-section-wide .tile-count{font-size:2.25rem}.tile-section-wide .tile-name{font-size:1.25rem}.book-top{grid-template-columns:minmax(0,1fr);gap:28px}.book-cover{max-width:340px}}@media(max-width:860px){.book-cover.is-editing{padding:18px}.book-cover.is-editing .cover-large{max-height:240px}.book-cover.is-editing img.cover-large{width:auto}.book-cover.is-editing .plate.cover-large{min-height:220px;height:220px}}@media(max-width:760px){.masthead{padding:8px var(--gutter);background:#fbf7f2f0;box-shadow:0 1px 0 var(--hair)}.topbar{flex-wrap:nowrap;gap:8px;padding:0;background:transparent;border-radius:0;box-shadow:none}.brand{flex:0 0 44px;justify-content:center;width:44px;height:44px}.brand-words{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.brand-mark{width:30px;height:20px}.brand-mark span{width:20px;height:20px}.brand-mark span:nth-child(2){left:5px}.brand-mark span:nth-child(3){left:10px}.searchbox{flex:1 1 auto}.search{height:44px;padding:0 12px 0 38px;background:var(--card);border-color:var(--hair-strong)}.search-glyph{left:14px}.topbar-actions{flex:0 0 auto}.topbar-actions .btn-small{min-height:44px;padding:8px 14px}.only-wide{display:none!important}.label-wide{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.only-narrow{display:inline-flex!important}.label-narrow{display:inline!important}.editbar-band{position:static;padding:12px var(--gutter) 0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.page-head-washed,.page-head-sheet,.page-head-ink{padding:22px 20px;border-radius:var(--r-tile)}.modal{padding:22px;border-radius:var(--r-tile)}.form-row{grid-template-columns:1fr}.form-year,.form-volumes{max-width:none}}@media(max-width:639px){.bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{padding:18px;border-radius:var(--r-card)}.tile-hero{grid-column:span 2;padding:26px 22px}.tile-pick{grid-column:span 2}.tile-section,.tile-section-wide{grid-column:span 1;min-height:124px}.tile-count,.tile-section-wide .tile-count{font-size:1.875rem}.tile-name,.tile-section-wide .tile-name{font-size:1rem}.pick-plate{max-width:150px}.recent-row{grid-template-columns:repeat(3,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.grid-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.card-plate{--plate-pad: 10px}.card-title,.card-plate .plate-titled .plate-title{font-size:1rem}.page{gap:24px}.page-home{gap:36px}.editbar-inner{border-radius:var(--r-card);padding:10px}.editbar-note{font-size:.75rem}.modal-actions{flex-wrap:wrap}.cover-row{gap:12px}.review-card{padding:16px;border-radius:var(--r-card)}.book-cover.is-editing{padding:16px;gap:14px}.book-cover.is-editing .cover-large{max-height:190px}.book-cover.is-editing .plate.cover-large{min-height:190px;height:190px}.book-cover:not(.is-editing){min-height:240px;padding:20px}.book-cover:not(.is-editing) .cover-large{max-height:240px}.book-cover:not(.is-editing) img.cover-large{width:auto}.book-cover:not(.is-editing) .plate.cover-large{min-height:220px;height:220px}.room-case{padding:18px;border-radius:var(--r-tile)}.room-shelf{grid-template-columns:minmax(0,1fr) auto}.room-spines{grid-column:1 / -1;grid-row:2;height:28px}.review-body{grid-template-columns:74px minmax(0,1fr);gap:14px}.review-title{font-size:1.125rem}.review-actions .btn{flex:1 1 auto}}.reader-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--hair-strong);color:var(--ink);font-family:var(--serif);font-size:.875rem;line-height:1}.reader-mark[data-size=md]{width:36px;height:36px;font-size:1.25rem}.reader-mark[data-size=lg]{width:56px;height:56px;font-size:1.875rem}.reader-mark[data-current=true]{background:var(--ink);color:var(--paper);box-shadow:none}.read-check{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--paper)}.read-check-tick{display:block;width:6px;height:11px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(45deg)}.card-read{position:absolute;top:8px;right:8px;z-index:1;width:24px;height:24px;box-shadow:0 0 0 2px var(--card)}.card-read .read-check-tick{width:6px;height:11px}.reader-progress{display:block;width:100%;height:8px;border-radius:var(--r-pill);background:var(--hair-strong);overflow:hidden}.reader-progress>span{display:block;height:100%;border-radius:inherit;background:var(--ink)}.reader-menu{position:relative;flex:0 0 auto}.reader-menu-button{display:inline-flex;align-items:center;gap:8px;min-width:44px;min-height:40px;padding:0 8px 0 4px;border:0;border-radius:12px;background:transparent;color:var(--ink);font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .14s ease}.reader-menu-button:hover,.reader-menu-button[aria-expanded=true]{background:var(--card)}.reader-menu-button .reader-mark{width:30px;height:30px;font-size:1.0625rem}.reader-mark-unknown{background:transparent;box-shadow:none;border:1.5px dashed var(--muted);color:var(--muted)}.reader-menu-caret{flex:0 0 auto;color:var(--muted);transition:transform .18s cubic-bezier(.16,1,.3,1)}.reader-menu-button[aria-expanded=true] .reader-menu-caret{transform:rotate(180deg)}.reader-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:max-content;min-width:232px;max-width:min(320px,calc(100vw - 2 * var(--gutter, 16px)));padding:6px;border-radius:var(--r-plate);background:var(--card);box-shadow:0 0 0 1px var(--hair-strong),var(--shadow-lift);animation:reader-menu-in .18s cubic-bezier(.16,1,.3,1)}.reader-menu-panel[hidden]{display:none}@keyframes reader-menu-in{0%{opacity:0;transform:translateY(-4px)}}.reader-menu-list{display:flex;flex-direction:column}.reader-menu-list li+li{margin-top:4px;padding-top:4px;border-top:1px solid var(--hair)}.reader-menu-item{display:flex;flex-direction:column;justify-content:center;gap:1px;width:100%;min-height:48px;padding:8px 12px;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;font-size:.9375rem;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.reader-menu-item:hover,.reader-menu-item:focus-visible{background:var(--paper)}.reader-menu-item-sub{font-size:.8125rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.reader-menu-item-row{display:inline-flex;align-items:center;gap:10px}@media(max-width:1199px){.reader-menu-name{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.reader-menu-button{gap:4px;padding:0 6px 0 4px}}@media(max-width:760px){.reader-menu-button{justify-content:center;width:44px;padding:0}.reader-menu-caret{display:none}}.who-choices{display:flex;flex-direction:column;gap:12px;margin:20px 0 8px}.who-done-head{display:flex;align-items:center;gap:14px}.who-done-actions{flex-wrap:wrap;margin-top:20px}.who-choice{width:100%;min-height:56px;justify-content:flex-start;gap:14px;padding:10px 20px 10px 12px;font-size:1.0625rem}.readings-anchor{scroll-margin-top:16px}.readings{display:flex;flex-direction:column;gap:18px}.readings-head{font-size:1.5rem;color:var(--ink)}.readings-loading,.reading-muted{color:var(--muted);font-size:.9375rem}.readings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.reading-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:24px;background:var(--card);border-radius:var(--r-tile);box-shadow:var(--shadow-soft)}.reading-card-head{display:flex;align-items:center;gap:12px}.reading-card h3{font-size:1.375rem}.reading-card h3 a{display:inline-flex;align-items:center;min-height:40px;color:var(--ink);text-decoration:none}.reading-card h3 a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.reading-you{font-size:.875rem;font-weight:600;color:var(--muted)}.reading-line{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink)}.reading-text{white-space:pre-line;overflow-wrap:anywhere;font-size:1rem;line-height:1.6;color:var(--ink)}.stars{display:inline-flex;align-items:center;gap:2px;vertical-align:middle}.star{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-linejoin:round}.star-on{fill:var(--ink);stroke:var(--ink)}.read-mark{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0}.read-mark-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}.read-toggle{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:6px 18px 6px 10px;border:1.5px solid var(--hair-strong);border-radius:14px;background:var(--card);color:var(--ink);font-size:1.0625rem;font-weight:600;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}.read-toggle:hover{border-color:var(--ink);box-shadow:var(--shadow-soft)}.read-toggle-box{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;border-radius:8px;box-shadow:inset 0 0 0 2px var(--muted);color:transparent;transition:background-color .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease}.read-toggle-box .read-check-tick{transform:translateY(-1px) rotate(45deg) scale(.4);transition:transform .32s cubic-bezier(.16,1,.3,1)}.read-toggle[aria-pressed=true]{border-color:var(--ink)}.read-toggle[aria-pressed=true] .read-toggle-box{background:var(--ink);box-shadow:none;color:var(--paper)}.read-toggle[aria-pressed=true] .read-toggle-box .read-check-tick{transform:translateY(-1px) rotate(45deg) scale(1)}.read-more{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;text-align:left}.read-status{font-size:.875rem;font-weight:600;color:var(--muted)}.read-status:empty{display:none}.read-mark-lost{width:100%}.read-details{display:flex;flex-direction:column;gap:18px;width:100%;max-width:36rem;min-width:0;padding:20px;border-radius:var(--r-card);background:var(--card);box-shadow:inset 0 0 0 1.5px var(--hair-strong);animation:read-details-in .24s cubic-bezier(.16,1,.3,1)}.read-details:focus{outline:none}@keyframes read-details-in{0%{opacity:0;transform:translateY(-6px)}}.reading-date,.reading-review-field{display:flex;flex-direction:column;gap:7px;min-width:0}.reading-field,.stars-input legend{font-size:.9375rem;font-weight:600;color:var(--ink)}.reading-date-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.read-details input[type=date],.reading-review-input{width:100%;min-height:44px;padding:10px 16px;border:1.5px solid var(--hair-strong);border-radius:12px;background:var(--card);color:var(--ink);font-size:1rem;transition:border-color .14s ease,box-shadow .14s ease}.read-details input[type=date]{flex:1 1 170px;width:auto;min-width:0}.reading-review-input{line-height:1.55;resize:vertical}.read-details input[type=date]:focus,.reading-review-input:focus{outline:none;border-color:var(--coral-ink);box-shadow:0 0 0 4px #9e372024}.reading-count{font-size:.8125rem;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.reading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.reading-card-edit{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;text-align:left}.stars-input{min-width:0;margin:0;padding:0;border:0}.stars-input legend{padding:0;margin-bottom:4px}.stars-row{display:flex;flex-wrap:wrap;align-items:center}.stars-option{position:relative;display:inline-flex}.visually-hidden-input{position:absolute;top:50%;left:50%;width:1px;height:1px;margin:0;opacity:0;clip-path:inset(50%);pointer-events:none}.stars-star{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;cursor:pointer}.stars-star:hover .star:not(.star-on){stroke:var(--ink)}.stars-none{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;margin-left:4px;border-radius:var(--r-pill);color:var(--muted);font-size:.875rem;font-weight:600;cursor:pointer}.visually-hidden-input:checked+.stars-none{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--hair-strong);color:var(--ink)}.visually-hidden-input:focus-visible+label{outline:3px solid var(--coral-ink);outline-offset:2px;border-radius:8px}.reading-choose{display:flex;flex-direction:column;gap:12px;padding:20px 24px;background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-soft)}.reading-choose-actions{display:flex;flex-wrap:wrap;gap:10px}.reading-signin{color:var(--muted);font-size:.9375rem}.reading-signin-link{display:inline-flex;align-items:center;min-height:44px}.tile.tile-readers{grid-column:1 / -1;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--hair-strong),var(--shadow-soft)}.tile-readers .tile-kicker{font-family:var(--sans);line-height:1.6}.readers-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reader-summary{display:flex;flex-direction:column;gap:8px;height:100%;padding:16px 18px;border-radius:var(--r-card);background:var(--paper);color:var(--ink);text-decoration:none;transition:transform .14s ease,box-shadow .14s ease}.reader-summary:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.reader-summary-who{display:flex;align-items:center;gap:10px;min-width:0}.reader-summary-name{font-family:var(--serif);font-size:1.375rem;line-height:1.1;overflow-wrap:anywhere}.reader-summary-count{font-size:.875rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.reader-head-name{display:flex;align-items:center;gap:16px;flex:1 1 22ch;min-width:0}.reader-head-name .page-title{overflow-wrap:anywhere}.reader-head-progress{display:flex;flex-direction:column;gap:8px;flex:0 1 200px;min-width:150px}.reader-head .page-count{align-self:flex-start;background:var(--paper)}.reader-views{display:flex;flex-wrap:wrap;gap:8px}.reader-view{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px 6px 18px;border-radius:var(--r-pill);background:var(--card);box-shadow:inset 0 0 0 1.5px var(--hair-strong);color:var(--ink);font-size:.9375rem;font-weight:600;text-decoration:none}.reader-view:hover{box-shadow:inset 0 0 0 1.5px var(--ink),var(--shadow-soft)}.reader-view .chip-count{background:var(--paper)}.reader-view[aria-current=page]{box-shadow:inset 0 0 0 2px var(--ink)}.reader-body{display:flex;flex-direction:column;gap:16px}.reader-sort{align-self:flex-start}.reader-sort select{box-shadow:inset 0 0 0 1.5px var(--hair-strong)}.reader-head-none{flex:0 1 28ch;font-size:.9375rem;line-height:1.45;color:var(--muted)}.reader-claim{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 18px;border-radius:var(--r-card);background:var(--card);box-shadow:inset 0 0 0 1.5px var(--hair-strong)}.reader-claim p{font-weight:600}.reader-invite{display:flex;flex-direction:column;gap:8px;max-width:62ch;padding:4px 4px 0}.reader-invite-line{font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1.1vw,2rem);line-height:1.15;color:var(--ink);text-wrap:balance}.reader-invite-note{font-size:.9375rem;line-height:1.55;color:var(--muted)}.reader-invite-count{min-height:1.5em;font-size:.9375rem;line-height:1.5;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.check-group{display:flex;flex-direction:column;gap:10px}.check-group+.check-group{margin-top:22px}.check-group-head{position:sticky;top:var(--sticky-h, 0px);z-index:2;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:10px 4px 8px;border-bottom:1px solid var(--hair-strong);background:#fbf7f2f5;font-size:1.3125rem;line-height:1.2;color:var(--ink)}.check-group-count{font-family:var(--sans);font-size:.8125rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.reader-review-plate,.check-plate{--plate-pad: 8px;position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 4;padding:var(--plate-pad);border-radius:var(--r-plate);background:var(--tone)}.check-plate{--plate-pad: 5px;border-radius:10px}.reader-review-plate>.cover,.check-plate>.cover{position:absolute;top:var(--plate-pad);left:var(--plate-pad);width:calc(100% - var(--plate-pad) * 2);height:calc(100% - var(--plate-pad) * 2);max-width:none;max-height:none;border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 3px rgba(58,46,79,.2))}.reader-blank{min-height:100%;padding:0;border-radius:4px}.reader-reviews{display:flex;flex-direction:column;gap:16px}.reader-review{display:grid;grid-template-columns:74px minmax(0,1fr);gap:18px;align-items:start;padding:20px;background:var(--card);border-radius:var(--r-tile);box-shadow:var(--shadow-soft)}.reader-review-text{display:flex;flex-direction:column;gap:6px;min-width:0}.reader-review-title{font-size:1.25rem;overflow-wrap:anywhere}.reader-review-title a{display:inline-block;padding:7px 0;color:var(--ink);text-decoration:none}.reader-review-title a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.reader-review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.875rem}.reader-review-meta .reading-muted{font-size:.875rem}.reader-edit{align-self:flex-start;margin-top:6px}.checklist{display:flex;flex-direction:column;gap:10px}.check-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 12px 10px 10px;background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-soft)}.check-text{display:flex;flex-direction:column;gap:2px;min-width:0}.check-title{padding:2px 0;font-family:var(--serif);font-size:1.0625rem;line-height:1.25;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.check-title:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.check-author{margin:0;font-size:.8125rem;font-weight:500;color:var(--muted);overflow-wrap:anywhere}.check-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:.8125rem;color:var(--muted)}.check-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;min-width:44px;padding:0;border:1.5px solid var(--muted);border-radius:50%;background:var(--card);color:var(--muted);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.check-toggle:hover{border-color:var(--ink);color:var(--ink)}.check-toggle[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}@media(any-pointer:coarse){.reader-menu-button,.topbar-actions .btn-small,.reading-today{min-height:44px}}@media(max-width:760px){.readings-grid{grid-template-columns:minmax(0,1fr)}.readings-anchor{scroll-margin-top:16px}}@media(max-width:639px){.reading-card{padding:18px;border-radius:var(--r-card)}.reading-choose{padding:18px}.reader-summary{padding:12px 14px}.reader-summary-name{font-size:1rem}.reader-summary-count{font-size:.8125rem}.reader-summary .reader-mark[data-size=md]{width:30px;height:30px;font-size:1.0625rem}.reader-review{padding:16px;gap:14px;border-radius:var(--r-card)}.reader-review-title{font-size:1.125rem}.reader-head-name{flex-basis:100%}.reader-head-name .reader-mark[data-size=lg]{width:48px;height:48px;font-size:1.625rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
