/* AmongReaders v2 look for the app (index.php). Loaded after bootstrap + app.css.
   Every rule starts with html[data-theme] so it outranks app.css's [data-theme="light"] rules. */
:root[data-theme]{color-scheme:light;
 --ink:#14263a;--ink-2:#44546a;--paper:#f6f4ef;--panel:#fff;--panel-raised:#faf9f6;--line:#e6e2d9;--line-2:#efece5;--muted:#7a8698;
 --silver:#1D5E96;--blue:#1D5E96;--gold:#0D3A5C;--navy:#0D3A5C;--navy-2:#0a2d48;--teal:#0E9A78;--teal-soft:#e3f4ee;--coral:#EF6A5B;--radius:16px;
 --shadow:0 1px 2px rgba(20,38,58,.05),0 8px 24px rgba(20,38,58,.06);
 --serif:Georgia,'Iowan Old Style','Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
html[data-theme] body{background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans)}
/* safety net: a stray wide element (button, chip row, etc.) should never widen the whole page */
html[data-theme],html[data-theme] body{overflow-x:hidden}
/* layout: no sidebar, content centered under the shared top bar */
html[data-theme] .sidebar,html[data-theme] .app-topbar{display:none!important}
html[data-theme] .site-workspace{margin-left:0}
html[data-theme] .main-content{max-width:1180px;margin:0 auto;padding:30px 20px 60px;min-height:70vh}
html[data-theme] .skip-link{left:12px}
/* type */
html[data-theme] h1,html[data-theme] h2,html[data-theme] h3,html[data-theme] h4{font-family:var(--serif);color:var(--ink);font-weight:700;letter-spacing:-.3px}
html[data-theme] h1{font-size:38px;line-height:1.15;margin:0 0 10px}
html[data-theme] h2{font-size:24px;line-height:1.25;margin:0 0 14px}
html[data-theme] h3{font-size:18px;line-height:1.3}
html[data-theme] a{color:var(--blue)}html[data-theme] a:hover,html[data-theme] a:focus{color:var(--navy)}
html[data-theme] .muted,html[data-theme] small,html[data-theme] time{color:var(--muted)}
html[data-theme] .eyebrow,html[data-theme] .tiny-label{font:700 11px/1.2 var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--teal);margin:0 0 8px}
html[data-theme] .page-heading{margin-bottom:26px;align-items:flex-end}
html[data-theme] .page-heading .muted,html[data-theme] .page-intro{font-size:15px}
html[data-theme] label{color:var(--ink-2);font-weight:600;font-size:13px}
/* buttons */
html[data-theme] .btn{border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500;border:1px solid var(--line);background:var(--card,#fff);color:var(--ink);box-shadow:none;text-shadow:none;transition:background .15s,border-color .15s}
html[data-theme] .btn:hover,html[data-theme] .btn:focus{background:#fbfaf7;border-color:#cfc9bc;color:var(--ink)}
html[data-theme] .btn-primary{background:var(--navy);border-color:var(--navy);color:#fff}
html[data-theme] .btn-primary:hover,html[data-theme] .btn-primary:focus{background:var(--navy-2);border-color:var(--navy-2);color:#fff}
html[data-theme] .btn-danger{background:var(--card,#fff);border-color:#f0c5bf;color:#b43b2f}
html[data-theme] .btn-danger:hover{background:#fde9e6;color:#b43b2f}
html[data-theme] .btn-link{background:transparent;border-color:transparent;color:var(--blue);padding-left:8px;padding-right:8px}
html[data-theme] .btn-link:hover,html[data-theme] .btn-link:focus{background:rgba(20,38,58,.05);border-color:transparent;color:var(--navy);text-decoration:none}
html[data-theme] .btn-sm,html[data-theme] .btn-xs{padding:5px 11px;font-size:13px}
html[data-theme] .btn-lg{padding:11px 22px;font-size:16px}
/* inputs */
html[data-theme] .form-control{border-radius:12px;border:1px solid var(--line);background:var(--card,#fff);color:var(--ink);box-shadow:none;font-size:16px;height:auto;padding:9px 13px}
html[data-theme] .form-control:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,154,120,.15);color:var(--ink);background:var(--card,#fff)}
html[data-theme] select.form-control{padding-right:30px}
html[data-theme] input[type=checkbox],html[data-theme] input[type=radio]{accent-color:var(--teal)}
/* cards / wells */
html[data-theme] .panel,html[data-theme] .feed-card,html[data-theme] .club-card,html[data-theme] .book-card,html[data-theme] .feature-card,html[data-theme] .auth-panel,html[data-theme] .rec-page,html[data-theme] .person-row,html[data-theme] .notification-row,html[data-theme] .theory-card{background:var(--card,#fff);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
html[data-theme] .panel-body{padding:22px}
html[data-theme] .raw-panel>summary{padding:14px 20px;font-weight:600;color:var(--navy);cursor:pointer}
html[data-theme] .raw-panel>form{padding:0 20px 20px}
html[data-theme] .well{background:var(--panel-raised);border:1px solid var(--line);border-radius:14px;box-shadow:none}
html[data-theme] .empty{background:transparent;border:1.5px dashed var(--line);border-radius:14px;color:var(--muted)}
html[data-theme] .empty h2{font-size:21px}
html[data-theme] .alert{border-radius:12px}
html[data-theme] .alert-info{background:#e4ecf4;border-color:#cddbe8;color:var(--navy)}
html[data-theme] .alert-success{background:var(--teal-soft);border-color:#c5e8dc;color:var(--teal-dk,#0b6e56)}
html[data-theme] .alert-danger{background:#fde9e6;border-color:#f6cbc4;color:#b43b2f}
/* covers */
html[data-theme] .book-cover,html[data-theme] .rec-cover,html[data-theme] .quick-reading-cover img,html[data-theme] .reading-slide-cover img,html[data-theme] .suggestion-cover{border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 22px rgba(20,38,58,.16)}
html[data-theme] .cover-fallback{background:#e9e5dc;border-radius:6px;color:var(--muted)}
/* avatars */
html[data-theme] .reader-avatar{border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}
/* tabs / chips inside pages */
html[data-theme] .feed-tabs button,html[data-theme] .mode-tabs button,html[data-theme] .profile-tabs a,html[data-theme] .profile-tabs button{border-radius:999px}
html[data-theme] .feed-tabs .active,html[data-theme] .mode-tabs .active,html[data-theme] .profile-tabs .active,html[data-theme] .feed-tabs [aria-pressed=true],html[data-theme] .mode-tabs [aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
/* progress bars */
html[data-theme] .progress,html[data-theme] .progress-track,html[data-theme] .reading-progress-bar,html[data-theme] .reader-progress-track{background:var(--line-2);border-radius:6px;box-shadow:none}
html[data-theme] .progress-bar,html[data-theme] .progress-track>span,html[data-theme] .reading-progress-bar>span,html[data-theme] .reader-progress-track>span{background:linear-gradient(90deg,var(--blue),var(--teal))}
/* footer */
html[data-theme] .site-footer{max-width:1180px;margin:0 auto;padding:26px 20px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
html[data-theme] .site-footer a{color:var(--ink-2)}
html[data-theme] .theme-toggle{display:none!important}
html[data-theme] .dev-impersonation-banner{position:relative;z-index:46}
@media(max-width:820px){
 html[data-theme] .main-content{padding:20px 14px 50px}
 html[data-theme] h1{font-size:29px}
 html[data-theme] .page-heading{flex-direction:column;align-items:flex-start;gap:12px}
 html[data-theme] .panel-body{padding:16px}
 html[data-theme] .site-footer{padding:22px 14px 34px}
}
/* ---------- shared bits the app borrows from v2 ---------- */
html[data-theme] .v2-loading{display:flex;gap:6px;justify-content:center;padding:100px 0}
html[data-theme] .v2-loading span{width:9px;height:9px;border-radius:50%;background:var(--teal);animation:v2b 1s infinite alternate}
html[data-theme] .v2-loading span:nth-child(2){animation-delay:.2s}html[data-theme] .v2-loading span:nth-child(3){animation-delay:.4s}
@keyframes v2b{to{opacity:.2;transform:translateY(-6px)}}
html[data-theme] :focus{outline:none}
html[data-theme] :focus-visible{outline:2px solid var(--teal);outline-offset:2px}
/* ---------- HOME ---------- */
html[data-theme] .h-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:6px 0 26px;flex-wrap:wrap}
html[data-theme] .h-hero h1{font-size:42px;margin:0 0 6px}
html[data-theme] .h-hero .muted{margin:0;font-size:15px}
html[data-theme] .h-hero-actions{display:flex;gap:8px}
html[data-theme] .h-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
html[data-theme] .h-main,html[data-theme] .h-side{display:grid;gap:24px;min-width:0}
html[data-theme] .h-card,html[data-theme] .home-recs,html[data-theme] .home-people-posts{background:var(--card,#fff);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;min-width:0;margin:0}
html[data-theme] .h-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
html[data-theme] .h-card-head h2{margin:0;font-size:24px}
html[data-theme] .h-card-head .muted{font-size:12px}
html[data-theme] .home-recs .section-bar,html[data-theme] .home-people-posts .section-bar{margin:0 0 14px;display:block}
html[data-theme] .home-recs .section-bar h2,html[data-theme] .home-people-posts .section-bar h2{font-size:22px;margin:0 0 2px}
html[data-theme] .home-recs .section-bar .muted,html[data-theme] .home-people-posts .section-bar .muted{font-size:12px}
/* activity rows */
html[data-theme] .home-activity-feed{display:grid;gap:0}
html[data-theme] .h-act{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-2)}
html[data-theme] .h-act:first-child{border-top:0;padding-top:0}
html[data-theme] .h-act .reader-avatar{width:36px;height:36px;flex:none;margin:0}
html[data-theme] .h-act-text{flex:1;min-width:0}
html[data-theme] .h-act-text p{margin:0;line-height:1.45}
html[data-theme] .h-act-text a{color:var(--ink)}html[data-theme] .h-act-text a:hover{color:var(--blue)}
html[data-theme] .h-act time{font-size:12px}
html[data-theme] .h-act-cover{flex:none;width:40px}
html[data-theme] .h-act-cover .book-cover,html[data-theme] .h-act-cover .cover-fallback{width:40px;height:60px;min-height:0;object-fit:cover;font-size:0;box-shadow:0 2px 6px rgba(0,0,0,.18);margin:0;padding:0}
html[data-theme] .home-activity-feed .feed-card{box-shadow:none;border-radius:12px;margin:12px 0;background:var(--panel-raised)}
/* side links */
html[data-theme] .h-links{display:grid;gap:2px;padding:18px}
html[data-theme] .h-links a{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;color:var(--ink);font-weight:500}
html[data-theme] .h-links a:hover{background:var(--paper);text-decoration:none}
html[data-theme] .h-links span{width:22px;text-align:center}
/* recs in the side column: stacked rows */
html[data-theme] .h-side .rec-strip{display:grid;grid-auto-flow:row;grid-template-columns:1fr;gap:12px;overflow:visible}
html[data-theme] .h-side .rec-chip{display:flex;gap:12px;align-items:flex-start;width:auto;padding:0;border:0;background:none;color:var(--ink)}
html[data-theme] .h-side .rec-chip .book-cover,html[data-theme] .h-side .rec-chip .cover-fallback{width:46px;height:69px;min-height:0;flex:none;object-fit:cover}
html[data-theme] .h-side .rec-chip strong{display:block;font-family:var(--serif);font-size:15px;line-height:1.25}
html[data-theme] .h-side .rec-chip small{display:block}
html[data-theme] .h-side .rec-chip em{display:block;font-size:12px;color:var(--ink-2);margin-top:3px}
html[data-theme] .rec-chip.unseen strong::after{content:"new";margin-left:6px;font:700 10px var(--sans);text-transform:uppercase;color:#fff;background:var(--coral);border-radius:999px;padding:1px 6px;vertical-align:2px}
/* currently reading (carousel + quick rows) */
html[data-theme] .reading-carousel{margin:0}
html[data-theme] .reading-slide{background:var(--panel-raised);border:1px solid var(--line-2);border-radius:14px;padding:16px;gap:18px}
html[data-theme] .quick-reading-row{border-color:var(--line-2)}
html[data-theme] .quick-reading-info strong{font-family:var(--serif);font-size:19px;color:var(--ink)}
html[data-theme] .quick-type-toggle{border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--card,#fff)}
html[data-theme] .quick-type-btn{border:0;background:none;color:var(--ink-2);padding:6px 11px;font-size:12px;font-weight:600}
html[data-theme] .quick-type-btn.active{background:var(--navy);color:#fff}
html[data-theme] .quick-value-input{width:84px}
html[data-theme] .reading-carousel-nav .btn{width:36px;height:36px;padding:0}
html[data-theme] .reading-dot{background:var(--line);border:0}
html[data-theme] .reading-dot.active{background:var(--navy)}
@media(max-width:980px){html[data-theme] .h-grid{grid-template-columns:1fr}}
@media(max-width:820px){
 html[data-theme] .h-hero{margin:0 0 18px}html[data-theme] .h-hero h1{font-size:32px}
 html[data-theme] .h-hero-actions{width:100%}html[data-theme] .h-hero-actions .btn{flex:1}
 html[data-theme] .h-card,html[data-theme] .home-recs,html[data-theme] .home-people-posts{padding:16px;border-radius:14px}
 html[data-theme] .h-grid,html[data-theme] .h-main,html[data-theme] .h-side{gap:16px}
}
html[data-theme] .reading-carousel-track>.reading-slide:only-child{grid-column:1/-1}
html[data-theme] .reading-slide .quick-reading-form{flex-wrap:wrap}
/* ---------- MY LISTS: every list is its own well ---------- */
html[data-theme] .reading-list-sections{gap:22px}
html[data-theme] .reading-list-section{background:var(--card,#fff);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px 22px}
html[data-theme] .list-section-heading h2{font-size:24px}
html[data-theme] .list-size{background:var(--teal-soft);color:#0b7a5f;border:0;border-radius:999px;font-weight:700}
html[data-theme] .book-card{background:var(--panel-raised);border:1px solid var(--line-2);border-radius:14px;box-shadow:none;max-width:none}
html[data-theme] .book-card:hover{border-color:#d9d3c6}
html[data-theme] .cover-stage{background:linear-gradient(180deg,var(--line-2,#efece5),var(--paper,#f6f4ef));height:210px;padding:18px}
html[data-theme] .cover-stage .book-cover{max-height:174px}
html[data-theme] .book-card-rich .card-body{padding:16px}
html[data-theme] .book-card-rich .card-body h3{font-size:19px;margin-bottom:4px}
html[data-theme] .book-card-rich .author{font-size:13px;margin-bottom:8px}
html[data-theme] .book-card-rich .reading-position{font-size:12px;margin-bottom:10px}
html[data-theme] .card-body h3 a{color:var(--ink)}
html[data-theme] .badge-status{background:#e4ecf4;border:0;color:var(--navy);border-radius:999px;padding:2px 9px;font-weight:600}
html[data-theme] .book-card-rich .badge-status{font-size:11px;margin-bottom:10px}
html[data-theme] .friend-badge{background:rgba(13,58,92,.85);color:#fff;border:0}
html[data-theme] .section-bar{margin:0 0 18px}
html[data-theme] .list-view-toggle .btn.active,html[data-theme] .list-view-toggle .btn[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
html[data-theme] .book-list-table-wrap{border-radius:12px;border:1px solid var(--line-2);overflow:auto}
html[data-theme] .book-list-table th{background:var(--panel-raised);color:var(--ink-2);font-size:12px;text-transform:uppercase;letter-spacing:.6px}
@media(max-width:820px){html[data-theme] .reading-list-section{padding:16px 14px}}
html[data-theme] .book-card-rich .card-primary-actions{grid-template-columns:1fr!important;gap:8px}
html[data-theme] .card-primary-actions>.btn,html[data-theme] .card-primary-actions>.form-control{height:40px!important;min-height:40px!important;font-size:13px!important}
html[data-theme] .book-progress-actions{grid-template-columns:1fr 1fr!important;gap:8px}
html[data-theme] .book-progress-actions .btn{min-height:38px;font-size:12px!important;padding:6px 8px;white-space:normal;line-height:1.2}
html[data-theme] .finished-button{text-transform:none}
html[data-theme] .card-post-count{background:rgba(255,255,255,.2);border-radius:999px;padding:0 7px;font-size:11px}
html[data-theme] .club-grid{gap:20px}
html[data-theme] .club-card{border-radius:var(--radius);overflow:hidden}
html[data-theme] .club-art{position:relative;height:132px;background:radial-gradient(600px 160px at 20% 0,#1b5a86,transparent),linear-gradient(135deg,var(--navy),#0b2a44);display:flex;align-items:center;justify-content:center;overflow:hidden;border:0}
html[data-theme] .club-art svg{width:40px;height:40px;color:#7fe0c4;stroke:#7fe0c4}
html[data-theme] .club-art.has-book::before{content:"";position:absolute;inset:-30px;background:var(--club-cover) center/cover;filter:blur(22px) saturate(1.2);opacity:.55}
html[data-theme] .club-art-cover{position:relative;height:104px;width:auto;border-radius:5px;box-shadow:0 8px 20px rgba(0,0,0,.35)}
html[data-theme] .club-art .badge-status{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);color:var(--navy);margin:0}
html[data-theme] .club-body{padding:18px 18px 20px}
html[data-theme] .club-body h3{font-size:21px;margin-bottom:6px}
html[data-theme] .club-body p{color:var(--ink-2);font-size:14px}
html[data-theme] .club-actions .btn{width:100%}
html[data-theme] .people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
html[data-theme] .person-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;text-align:left;flex-wrap:wrap}
html[data-theme] .person-row>div:first-child{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}
html[data-theme] .person-row>div:first-child small{flex-basis:100%;margin:-10px 0 0 60px;font-size:12px}
html[data-theme] .person-row .reader-avatar{width:48px;height:48px;margin:0}
html[data-theme] .person-row strong{font-family:var(--serif);font-size:17px;color:var(--ink)}
html[data-theme] .person-row>div:last-child{display:flex;gap:4px;align-items:center}
html[data-theme] .person-row .btn{padding:6px 12px;font-size:13px}
html[data-theme] .search-form{display:flex;gap:10px;align-items:center;max-width:720px}
html[data-theme] .search-form .form-control{flex:1}
html[data-theme] #timeline{max-width:760px}
html[data-theme] .reading-streak{display:inline-flex;gap:6px;align-items:center;background:#fff3e6;color:#9a5412;border-radius:999px;padding:7px 14px;margin:0 0 18px;font-size:14px;border:0}
html[data-theme] .tl-day{background:var(--card,#fff);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin:0 0 18px}
html[data-theme] .tl-date{font:700 12px var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--teal);margin:0 0 6px}
html[data-theme] .tl-item{display:flex;gap:14px;align-items:center;padding:12px 0;margin:0;border:0;border-top:1px solid var(--line-2);background:none}
html[data-theme] .tl-item::before,html[data-theme] .tl-item::after{display:none}
html[data-theme] .tl-items .tl-item:first-child{border-top:0}
html[data-theme] .tl-cover img{display:block;width:38px;height:57px;object-fit:cover;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.18);background:#e9e5dc}
html[data-theme] .tl-body{flex:1;min-width:0}
html[data-theme] .tl-body h3{font-size:16px;margin:0 0 2px}
html[data-theme] .tl-body h3 a{color:var(--ink)}
html[data-theme] .tl-body p{margin:0;font-size:14px;color:var(--ink-2)}
html[data-theme] .tl-finished .tl-body p{color:#0b7a5f;font-weight:600}
html[data-theme] .tl-side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none}
html[data-theme] .tl-side time{font-size:12px}
html[data-theme] .tl-side .btn-link{padding:2px 6px;font-size:12px}
html[data-theme] #timeline-view .page-intro{margin-bottom:22px}
/* ---------- notifications ---------- */
html[data-theme] .notification-row{display:flex;gap:12px;align-items:center;padding:14px 16px;margin:0 0 10px;color:var(--ink);text-decoration:none!important}
html[data-theme] .notification-row:hover{border-color:#d9d3c6}
html[data-theme] .notification-row p{margin:0}
html[data-theme] .notification-row>div{flex:1;min-width:0}
html[data-theme] .notification-row .badge-status{background:var(--coral);color:#fff}
html[data-theme] #notifications-content{max-width:760px}
/* ---------- search ---------- */
html[data-theme] #search-view .search-form{margin:18px 0 8px}
html[data-theme] #search-view .search-sort{max-width:190px}
html[data-theme] .book-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
/* ---------- signed-out: landing, about, auth ---------- */
html[data-theme] .landing-hero{margin:-30px -20px 30px;padding:70px 20px 64px;background:radial-gradient(1000px 300px at 20% 0,#1b5a86,transparent),linear-gradient(135deg,var(--navy),#0b2a44);color:#fff;text-align:center}
html[data-theme] .landing-hero h1{color:#fff;font-size:52px;margin:6px auto 14px;max-width:760px}
html[data-theme] .landing-hero .muted{color:#cfdbe6!important;margin:0 auto 26px;font-size:17px}
html[data-theme] .landing-hero .eyebrow{color:#7fe0c4}
html[data-theme] .landing-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
html[data-theme] .landing-hero .btn-primary{background:var(--card,#fff);color:var(--navy);border-color:#fff}
html[data-theme] .landing-hero .btn-default{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}
html[data-theme] .feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
html[data-theme] .feature-card{padding:22px}
html[data-theme] .feature-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--teal-soft);font-size:22px;margin-bottom:12px}
html[data-theme] .auth-grid{display:grid;grid-template-columns:1fr minmax(0,440px);gap:40px;align-items:center;max-width:1000px;margin:20px auto}
html[data-theme] .auth-grid .intro h1{font-size:46px}
html[data-theme] .reading-mark{font:italic 22px/1.4 var(--serif);color:var(--navy);border-left:3px solid var(--teal);padding-left:14px;margin-top:20px}
html[data-theme] .auth-panel .panel-body{padding:28px}
html[data-theme] .auth-panel .btn-primary{width:100%;padding:11px}
/* ---------- classic book page (signed-out visitors) ---------- */
html[data-theme] .detail-head{gap:28px}
html[data-theme] .detail-head .book-cover{border-radius:8px}
/* ---------- shared list, author, rec pages ---------- */
html[data-theme] .shared-list-chip,html[data-theme] .rec-chip{border-radius:999px}
html[data-theme] .rec-page{padding:26px}
html[data-theme] .comment,html[data-theme] .thread-root{border-color:var(--line-2)}
@media(max-width:820px){
 html[data-theme] .landing-hero{margin:-20px -14px 24px;padding:46px 16px 44px}
 html[data-theme] .landing-hero h1{font-size:34px}
 html[data-theme] .auth-grid{grid-template-columns:1fr;gap:20px}
 html[data-theme] .auth-grid .intro h1{font-size:32px}
 html[data-theme] .book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media(max-width:560px){
 html[data-theme] .book-grid{grid-template-columns:1fr!important;gap:14px}
}
/* Landing: five "what you can do" spans under the hero buttons */
.land-spans{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:980px;margin:34px auto 0}
.land-spans a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px 14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff!important;text-decoration:none!important;transition:background .15s,transform .15s}
.land-spans a:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.land-spans span{font-size:26px;line-height:1}
.land-spans b{font-size:12px;letter-spacing:1.2px;text-transform:uppercase}
.land-spans small{font-size:12px;color:#b9cddd;line-height:1.3}
@media(max-width:760px){.land-spans{grid-template-columns:repeat(2,minmax(0,1fr))}.land-spans a:last-child{grid-column:1/-1}}
/* Club card: the club picture fills the art strip; the current book (or the poll's top picks) fanned in front */
html[data-theme] .club-art.has-photo{height:150px;background:linear-gradient(180deg,rgba(9,32,52,.05),rgba(9,32,52,.35)),var(--club-photo) center/cover no-repeat,var(--navy)}
html[data-theme] .club-fan{position:relative;width:120px;height:118px;align-self:flex-end;margin-bottom:-6px}
html[data-theme] .club-fan img{position:absolute;bottom:0;left:50%;width:66px;aspect-ratio:2/3;object-fit:cover;border-radius:4px;box-shadow:0 10px 22px rgba(0,0,0,.45);transform-origin:50% 100%;background:#d9cfbd}
html[data-theme] .club-fan-1 img{transform:translateX(-50%) rotate(-4deg)}
html[data-theme] .club-fan-2 img:nth-child(1){transform:translateX(-80%) rotate(-11deg)}html[data-theme] .club-fan-2 img:nth-child(2){transform:translateX(-20%) rotate(9deg)}
html[data-theme] .club-fan-3 img:nth-child(1){transform:translateX(-98%) rotate(-15deg)}html[data-theme] .club-fan-3 img:nth-child(2){transform:translateX(-50%) translateY(-5px);z-index:2}html[data-theme] .club-fan-3 img:nth-child(3){transform:translateX(-2%) rotate(15deg)}

/* Landing hero with a phone showing the app (Oct 16) */
.lh-split{display:flex;align-items:center;justify-content:center;gap:56px;max-width:1040px;margin:0 auto}
.lh-copy{flex:1;min-width:0;max-width:600px}
.lh-phone{flex:none;width:250px;padding:10px;border-radius:40px;background:#0a1d2e;box-shadow:0 30px 60px rgba(0,0,0,.45),inset 0 0 0 2px rgba(255,255,255,.12);position:relative;transform:rotate(3deg)}
.lh-phone::before{content:"";position:absolute;top:16px;left:50%;width:70px;height:18px;margin-left:-35px;border-radius:99px;background:#0a1d2e;z-index:2}
.lh-screen{border-radius:31px;overflow:hidden;background:#fff;aspect-ratio:460/800}.lh-screen img{display:block;width:100%;height:auto}
@media(min-width:861px){html[data-theme] .landing-hero .lh-copy{text-align:left}html[data-theme] .landing-hero .lh-copy h1,html[data-theme] .landing-hero .lh-copy .muted{margin-left:0;margin-right:0}html[data-theme] .lh-copy .landing-cta{justify-content:flex-start}}
@media(max-width:860px){.lh-split{flex-direction:column;gap:30px}.lh-phone{width:210px;transform:rotate(0)}}
