:root{--paper:#f4efe8;--ink:#2a211c;--muted:#7d6d63;--soft:#a8988c;--coral:#e15a48;--card:#fffaf6;--line:#2a211c14;--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Outfit", "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font:17px/1.45 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:radial-gradient(900px 420px at 50% -80px, #e15a4829, transparent 60%), radial-gradient(700px 380px at 100% 0, #2f6b4f14, transparent 55%), var(--paper);min-height:100svh;margin:0}button,textarea,a{font:inherit;color:inherit}button{cursor:pointer}#root,.page{min-height:100svh}.top{text-align:center;width:min(920px,100% - 40px);margin:0 auto;padding:36px 0 8px}.mark{font-family:var(--serif);letter-spacing:-.04em;background:0 0;border:0;padding:0;font-size:34px;font-weight:560}.line{color:var(--muted);margin:6px 0 0}.stage{width:min(920px,100% - 40px);margin:0 auto;padding-top:28px}.search{background:var(--card);border-radius:36px;flex-direction:column;gap:14px;min-height:148px;padding:22px 18px 16px 24px;display:flex;position:relative;box-shadow:0 1px 2px #2a211c0a,0 18px 50px #5a301c14}.search-row{align-items:flex-end;gap:12px;display:flex}.search:focus-within{box-shadow:0 0 0 4px #e15a4824,0 18px 50px #5a301c1a}.search-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.tags{flex-wrap:wrap;gap:8px 14px;display:flex}.tag{color:var(--coral);background:0 0;border:0;padding:0;font-weight:600}textarea{resize:none;background:0 0;border:0;outline:none;width:100%;min-height:58px;max-height:180px;padding:6px 0;font-size:19px;line-height:1.45}textarea::placeholder{color:var(--soft)}.send{background:var(--ink);color:#fff;border:0;border-radius:999px;flex:none;place-items:center;width:48px;height:48px;display:grid}.send:disabled{opacity:.4;cursor:default}.send:focus-visible,.choice:focus-visible,.tag:focus-visible,.mark:focus-visible,.shelf-card:focus-visible,.result a:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.status{min-height:1.4em;color:var(--muted);margin:14px 6px 0;font-size:15px}.search-foot{justify-content:space-between;align-items:center;gap:18px;min-height:24px;display:flex}.menus{flex:none;gap:18px;display:flex}.menu-word{color:var(--muted);background:0 0;border:0;padding:0;font-size:14px;font-weight:650}.menu-word[aria-expanded=true],.menu-word.picked{color:var(--coral)}.menu-panel{z-index:4;background:var(--card);border-radius:20px;flex-wrap:wrap;gap:8px 16px;max-height:280px;padding:16px 18px;display:flex;position:absolute;top:calc(100% + 8px);left:16px;right:16px;overflow:auto;box-shadow:0 1px 2px #2a211c0a,0 18px 40px #5a301c1f}.hint{min-width:0;color:var(--soft);text-align:right;margin:0;font-size:14px;overflow:hidden}.hint-line{opacity:1;transition:opacity .28s,transform .28s;display:inline-block;transform:translateY(0)}.hint-line.off{opacity:0;transform:translateY(8px)}.choice{text-align:left;color:#4d4039;background:0 0;border:0;padding:2px 0}.choice[aria-pressed=true]{color:var(--coral);font-weight:600}.matches{margin-top:28px;scroll-margin-top:20px}.reading{max-width:68ch;margin:0 0 22px;font-size:18px;line-height:1.55}.matches h2,.source h2{font-family:var(--serif);letter-spacing:-.03em;margin:0 0 8px;font-size:28px;font-weight:520;line-height:1.25}.source{grid-template-columns:92px 1fr;gap:18px;padding:8px 0;display:grid}.source a{text-decoration:none}.source a:hover{color:var(--coral)}.eyebrow{color:var(--coral);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:13px;font-weight:650}.group{margin-top:28px}.more,.quiet{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.more{color:var(--coral);white-space:nowrap;margin:8px 0 4px;font-weight:650}.more:disabled{opacity:.55}.quiet{color:var(--muted);text-underline-offset:3px;margin-top:10px;text-decoration:underline}.correct{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;display:flex}.correct input{border:0;border-bottom:1px solid var(--line);min-width:0;color:inherit;font:inherit;background:0 0;flex:12rem;padding:6px 0}.matches ul{margin:0;padding:0;list-style:none}.result{border-top:1px solid var(--line);grid-template-columns:92px 1fr;gap:18px;padding:18px 0;display:grid}.result img,.result .spine,.source img,.source .spine,.shelf-card img,.shelf-card .spine{object-fit:cover;background:#efe4d8;border-radius:6px;width:92px;height:138px;box-shadow:0 10px 24px #2a211c1f}.result h3{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:22px;font-weight:560}.result a{text-decoration:none}.result a:hover{color:var(--coral)}.meta,.blurb,.shelf-author,.fine,.shelf-head p{color:var(--muted)}.meta,.why,.blurb{margin:4px 0 0}.why{color:var(--ink)}.blurb{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;display:-webkit-box;overflow:hidden}.spine{color:#fffaf6;font-family:var(--serif);background:linear-gradient(160deg,#2a211c,#8a4034);align-items:flex-end;padding:10px;font-size:13px;line-height:1.25;display:flex}.skeletons{gap:14px;display:grid}.skeletons span{background:linear-gradient(90deg,#2a211c0d,#2a211c1a,#2a211c0d) 0 0/200% 100%;border-radius:12px;height:92px;animation:1.2s linear infinite shimmer;display:block}.shelf{margin-top:54px}.shelf-head{width:min(920px,100% - 40px);margin:0 auto 18px}.shelf-head h2{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:28px;font-weight:520}.shelf-head p{margin:4px 0 0}.marquee{padding:8px 0 20px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.track{gap:22px;width:max-content;animation:90s linear infinite marquee;display:flex}.marquee:hover .track,.track:focus-within{animation-play-state:paused}.shelf-card{text-align:left;background:0 0;border:0;width:148px;padding:0}.shelf-card img,.shelf-card .spine{width:148px;height:222px}.shelf-title,.shelf-author{display:block}.shelf-title{font-family:var(--serif);margin-top:10px;font-size:15px;line-height:1.3}.shelf-author{margin-top:2px;font-size:13px}.fine{text-align:center;width:min(720px,100% - 40px);margin:8px auto 40px;font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.nav{justify-content:center;align-items:center;gap:22px;margin-top:16px;display:flex}.nav-link{color:var(--muted);background:0 0;border:0;padding:0;font-weight:650}.nav-link[aria-current=page]{color:var(--coral)}.account-chip,.avatar-pick{background:0 0;border:0;border-radius:999px;padding:0;line-height:0}.avatar{width:28px;height:28px;color:var(--ink);background:#efe4da;border-radius:999px;flex:none;place-items:center;font-size:13px;font-weight:700;line-height:1;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.lg{width:72px;height:72px;font-size:28px}.account-chip .avatar{width:36px;height:36px;font-size:15px}.person{align-items:center;gap:8px;display:inline-flex}.profile-editor{flex-direction:column;align-items:flex-start;gap:14px;width:min(100%,420px);margin-top:8px;display:flex}.profile-editor form,.profile-fields{flex-direction:column;align-items:flex-start;gap:10px;width:100%;display:flex}.community,.community-missing{width:min(1140px,100% - 40px);margin:28px auto 48px}.community{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:28px;display:grid}.community-missing{background:var(--card);border-radius:28px;padding:28px}.community-missing h2,.auth-card h2,.profile-head h2,.hashtags h2{font-family:var(--serif);letter-spacing:-.03em;margin:0 0 8px;font-size:28px;font-weight:520}.profile-head{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:18px;display:flex}.hashtags h2{font-size:22px}.auth-card,.composer,.post{background:var(--card);border-radius:24px;padding:18px 20px;box-shadow:0 10px 30px #5a301c0f}.auth-card,.composer,.post,.empty-room{margin-bottom:16px}.auth-card{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.auth-card label,.profile-editor label,.reply{width:min(100%,360px);color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.auth-card input,.profile-editor input,.reply input{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;font:inherit;background:0 0;padding:6px 0;font-size:16px}.composer textarea{min-height:84px}.solid{background:var(--ink);color:#fff;border:0;border-radius:999px;padding:8px 16px;font-weight:650}.solid:disabled{opacity:.45}.post-top,.comment{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.person,.inline-hash,.hash{color:var(--ink);background:0 0;border:0;padding:0;font-weight:650}.inline-hash,.hash.on,.person:hover,.inline-hash:hover{color:var(--coral)}.talk{white-space:pre-wrap;margin:8px 0 0}.thread{border-left:1px solid var(--line);margin-top:12px;padding-left:14px}.comment{margin-top:12px}.comment .talk{flex-basis:100%;margin-top:0}.reply{flex-direction:row;align-items:center;width:100%;margin-top:12px}.track.reverse{animation-direction:reverse}.shelf+.shelf{margin-top:12px}.book-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:650}.side{flex-direction:column;gap:22px;display:flex;position:sticky;top:16px}.hashtags{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.hash{color:var(--muted);text-align:left}.hash span{color:var(--soft)}.sign-out{margin-top:12px}.book-rail{flex-direction:column;gap:4px;display:flex}.rail-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.rail-head h2{font-family:var(--serif);margin:0;font-size:22px;font-weight:520}.rail-head select{border:0;border-bottom:1px solid var(--line);color:var(--muted);font:inherit;background:0 0;max-width:148px;font-size:13px}.rail-tools{align-items:center;gap:4px;display:flex}.rail-find{width:28px;height:28px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.rail-find.on{color:var(--coral)}.rail-find svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:18px;height:18px}.rail-query{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;font:inherit;background:0 0;padding:4px 0 6px;font-size:14px}.rail-arrow{color:var(--muted);background:0 0;border:0;padding:2px 0;font-size:16px;line-height:1}.rail-list{scrollbar-width:thin;flex-direction:column;gap:10px;max-height:640px;display:flex;overflow:auto}.rail-book img{object-fit:cover;background:#efe4da;border-radius:4px;width:50px;height:76px}.rail-pick{text-align:left;background:0 0;border:0;gap:10px;width:100%;padding:0;display:flex}.rail-pick strong,.rail-pick em,.rail-pick small{display:block}.rail-pick strong{font-family:var(--serif);font-size:15px;font-weight:520;line-height:1.25}.rail-pick em,.rail-pick small{color:var(--muted);font-size:12px;font-style:normal}.rail-rate{flex-direction:column;align-items:flex-start;gap:8px;margin:8px 0 4px;display:flex}.rail-rate textarea{min-height:68px;font-size:14px}.stars{gap:2px;display:flex}.star{color:var(--line);background:0 0;border:0;padding:0 1px;font-size:18px}.star.on{color:var(--coral)}.join-note{background:var(--card);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;width:min(100%,440px);margin-bottom:16px;padding:12px 14px;display:flex;box-shadow:0 10px 30px #5a301c0f}.join-note p{color:var(--muted);margin:0;font-size:14px}.join-note .solid{white-space:nowrap;flex-shrink:0}.gate{z-index:20;background:#2a211c59;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.gate .auth-card{width:min(420px,100%);margin:0}@media (width<=800px){.community{grid-template-columns:1fr}.side,.hashtags{position:static}.side{order:-1}.rail-list{max-height:340px}.search-foot{flex-direction:column;align-items:flex-start;gap:8px}.hint{text-align:left}}@media (width<=560px){.top{padding-top:24px}.mark{font-size:30px}.search{border-radius:28px;min-height:0;padding:16px 12px 12px 16px}.result,.source{grid-template-columns:74px 1fr;gap:14px}.result img,.result .spine,.source img,.source .spine{width:74px;height:112px}.result h3,.matches h2,.source h2,.shelf-head h2{font-size:22px}}@media (prefers-reduced-motion:reduce){.track,.spinner,.skeletons span,.hint-line{transition:none;animation:none}}
