.book-cover-art{width:100%;aspect-ratio:var(--book-cover-ratio);min-width:0;padding:var(--space-3);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);box-shadow:inset var(--space-1) 0 var(--color-border-soft);flex-direction:column;flex:none;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.book-cover-art--ember{background:var(--book-cover-ember-bg);color:var(--book-cover-ember-fg)}.book-cover-art--slate{background:var(--book-cover-slate-bg);color:var(--book-cover-slate-fg)}.book-cover-art--sage{background:var(--book-cover-sage-bg);color:var(--book-cover-sage-fg)}.book-cover-art--photo{background:var(--color-surface-raised);box-shadow:none;border:0;padding:0}.book-cover-art--photo img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.book-cover-art__eyebrow{top:var(--space-3);left:var(--space-3);font-size:var(--text-xs);letter-spacing:.08em;opacity:.72;text-transform:uppercase;font-weight:800;position:absolute}.book-cover-art strong{font-family:Georgia,Times New Roman,serif;font-size:var(--text-base);line-height:var(--line-md);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.book-cover-art small{margin-top:var(--space-2);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;opacity:.8;display:block;overflow:hidden}.book-cover-art--picker,.book-cover-art--search,.book-cover-art--compact{width:var(--avatar-sm);border-radius:var(--radius-xs);padding:3px}.book-cover-art--search{box-shadow:none;border:0}.book-cover-art--picker .book-cover-art__eyebrow,.book-cover-art--picker strong,.book-cover-art--picker small,.book-cover-art--search .book-cover-art__eyebrow,.book-cover-art--search strong,.book-cover-art--search small,.book-cover-art--compact .book-cover-art__eyebrow,.book-cover-art--compact strong,.book-cover-art--compact small{display:none}.book-cover-art--feed{width:var(--post-book-cover-width,34px);border-radius:4px 6px 6px 4px;align-self:center;padding:3px}.book-cover-art--feed .book-cover-art__eyebrow,.book-cover-art--feed strong,.book-cover-art--feed small{display:none}.book-cover-art--photo.book-cover-art--picker,.book-cover-art--photo.book-cover-art--search,.book-cover-art--photo.book-cover-art--compact,.book-cover-art--photo.book-cover-art--feed{padding:0}.books-page{width:100%;max-width:var(--shell-book-max);min-width:0;margin:0 auto}.books-page__header{align-items:center;gap:var(--space-4);min-width:0;margin-bottom:var(--space-6);display:flex}.books-page__header>span{width:var(--avatar-lg);height:var(--avatar-lg);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-accent);flex:none;place-items:center;display:grid}.books-page__header svg{width:var(--icon-xl);height:var(--icon-xl)}.books-page__header h1{color:var(--color-text);margin:0;font-size:24px}.books-page__header p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-md)}.books-discovery-controls{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);display:grid}.books-search,.search-page__input{min-width:0;min-height:var(--control-h-lg);align-items:center;gap:var(--space-3);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-muted);display:flex}.books-search:focus-within,.search-page__input:focus-within{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.books-search svg,.search-page__input svg{width:var(--icon-md);height:var(--icon-md);flex:none}.books-search input,.search-page__input input{min-width:0;color:var(--color-text);font:inherit;background:0 0;border:0;outline:0;flex:1}.books-category-chips{gap:var(--space-2);min-width:0;padding-bottom:var(--space-1);display:flex;overflow-x:auto}.books-category-chip,.search-page__filters button{min-height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none;font-weight:650}.books-category-chip.is-active,.search-page__filters button.is-active{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-strong)}.books-section,.category-discovery{margin-top:var(--space-8);min-width:0}.books-section__heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.books-section__heading h2{color:var(--color-text);font-size:var(--text-xl);margin:0}.books-section__heading>span{color:var(--color-muted);font-size:var(--text-sm)}.books-grid{gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;display:grid}.discovery-book-card{min-width:0;height:100%;padding:var(--space-3);border-radius:var(--radius-card);color:inherit;transition:background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:0 0;border:0;flex-direction:column;display:flex;position:relative}.discovery-book-card:hover{background:var(--color-surface-raised);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.discovery-book-card:focus-within{box-shadow:var(--focus-ring)}.discovery-book-card__link{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.book-cover-art--card{max-width:100%;box-shadow:none;border:0}.discovery-book-card__copy{min-width:0;margin-top:var(--space-3);display:grid}.discovery-book-card__copy strong{min-height:42px;color:var(--color-text);font-size:var(--text-md);line-height:var(--line-md);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.discovery-book-card__copy small{margin-top:var(--space-1);color:var(--color-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.discovery-book-card__category{max-width:100%;margin-top:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;align-self:flex-start;overflow:hidden}.discovery-book-card__meta{justify-content:space-between;gap:var(--space-2);padding-top:var(--space-3);color:var(--color-muted);font-size:var(--text-xs);margin-top:auto;display:flex}.discovery-book-card__meta>span{align-items:center;gap:var(--space-1);display:inline-flex}.discovery-book-card__meta svg{width:var(--icon-xs);height:var(--icon-xs)}.discovery-book-card__meta span:first-child svg{fill:var(--color-star);stroke:var(--color-star);color:var(--color-star)}.discovery-book-card__save{top:var(--space-4);right:var(--space-4);width:var(--control-h-sm);height:var(--control-h-sm);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-panel);color:var(--color-muted);box-shadow:var(--shadow-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);place-items:center;display:grid;position:absolute}.discovery-book-card__save:hover{background:var(--color-surface-raised);color:var(--color-accent-strong);transform:translateY(-1px)}.discovery-book-card__save.is-active{color:var(--color-accent-strong)}.discovery-book-card__save.is-active svg{fill:currentColor}.discovery-book-card__save svg{width:var(--icon-sm);height:var(--icon-sm)}.category-discovery__grid{grid-template-columns:repeat(auto-fit, minmax(var(--book-card-min-width), 1fr));gap:var(--space-3);display:grid}.category-discovery__grid button{gap:var(--space-1);min-width:0;min-height:var(--touch-target);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer;display:grid}.category-discovery__grid button:hover{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.category-discovery__grid small{color:var(--color-muted)}.books-empty{justify-items:center;gap:var(--space-2);padding:var(--space-8);color:var(--color-muted);text-align:center;display:grid}.books-empty svg{width:var(--icon-xl);height:var(--icon-xl)}.books-empty h2,.books-empty p{margin:0}@media (max-width:767px){.books-page__header{margin-bottom:var(--space-4)}.books-page__header>span{width:var(--touch-target);height:var(--touch-target)}.books-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-book-card{padding:var(--space-2)}.discovery-book-card__save{top:var(--space-3);right:var(--space-3);width:var(--touch-target);height:var(--touch-target)}.book-cover-art{padding:var(--space-2)}.book-cover-art__eyebrow{top:var(--space-2);left:var(--space-2)}.book-cover-art strong{font-size:var(--text-md)}}@media (min-width:768px) and (max-width:1023px){.books-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px) and (max-width:1279px){.books-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.page-shell{box-sizing:border-box;width:100%;min-height:calc(100vh - var(--header-height));padding:24px 20px 64px}.page-shell--book{max-width:calc(var(--shell-book-max) + 40px);margin:0 auto}.page-shell--shop{width:100%;padding-top:var(--space-4)}.page-shell--cart{max-width:calc(var(--shell-book-max) + 40px);margin:0 auto}.page-shell--follow-list{max-width:640px;margin:0 auto}@media (max-width:1023px){.page-shell{padding:16px 14px 48px}}
.mobile-bottom-nav{display:none}.mobile-nav-item{min-width:0;height:56px;color:var(--color-muted);min-height:var(--touch-target);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;font-weight:620;display:flex}.mobile-nav-item svg{width:22px;height:22px}.mobile-nav-item:hover,.mobile-nav-item:focus-visible{color:var(--color-text-soft)}.mobile-nav-item.is-active{color:var(--color-accent)}.mobile-nav-item__primary-icon{width:var(--icon-xl);height:var(--icon-xl);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);place-items:center;display:grid}.mobile-nav-item--primary{color:var(--color-accent-strong)}.mobile-nav-item__primary-icon svg{width:var(--icon-md);height:var(--icon-md)}@media (max-width:767px){.mobile-bottom-nav{z-index:var(--z-mobile-nav);border-top:1px solid var(--color-border-soft);background:var(--color-header);padding-bottom:env(safe-area-inset-bottom,0px);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.home-main,.page-shell{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px) + 24px)}}
.composer-trigger{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);cursor:pointer;width:100%;font:inherit;text-align:left;transition:background var(--transition-fast);align-items:center;gap:12px;padding:12px 16px;display:flex}.composer-trigger:hover{background:var(--color-surface-raised)}.composer-trigger__avatar{width:var(--avatar-md);height:var(--avatar-md);background:var(--avatar-tone-coral-bg);color:var(--avatar-tone-coral-fg);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:750;display:grid;overflow:hidden}.composer-trigger__prompt{color:var(--color-subtle);font-size:15px}.composer-overlay{z-index:var(--z-overlay);opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--transition-layout), visibility 0s var(--duration-layout);background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.composer-overlay.is-open{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}.composer-overlay__panel{z-index:var(--z-sheet);overscroll-behavior:contain;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-panel);width:100%;max-height:92vh;box-shadow:var(--shadow-sheet);visibility:hidden;transition:transform var(--transition-layout), visibility 0s var(--duration-layout);will-change:transform;flex-direction:column;display:flex;position:relative;overflow-y:auto;transform:translateY(100%)}.composer-overlay__panel.is-open{visibility:visible;transition-delay:0s;transform:translateY(0)}@media (min-width:768px){.composer-overlay{padding:var(--space-6) var(--space-4);align-items:center}.composer-overlay__panel{width:min(640px,100%);max-height:min(760px, calc(100vh - var(--space-8) * 2));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:transform var(--transition-layout), opacity var(--transition-fast), visibility 0s var(--duration-layout);opacity:0;transform:translateY(8px)scale(.98)}.composer-overlay__panel.is-open{opacity:1;transform:translateY(0)scale(1)}}.composer-dialog-header{z-index:1;height:56px;padding:0 var(--space-2) 0 var(--space-5);border-bottom:1px solid var(--color-border-soft);background:var(--color-panel);flex:none;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.composer-dialog-header h2{color:var(--color-text);font-size:var(--text-lg);margin:0;font-weight:720}.composer-dialog-header__close{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-md);color:var(--color-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;place-items:center;display:grid}.composer-dialog-header__close:hover{background:var(--color-surface-raised);color:var(--color-text)}.composer-dialog-header__close svg{width:var(--icon-md);height:var(--icon-md)}.composer-identity{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5) 0;flex:none;display:flex}.composer-identity__avatar{width:var(--avatar-md);height:var(--avatar-md);background:var(--avatar-tone-coral-bg);color:var(--avatar-tone-coral-fg);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:750;display:grid;overflow:hidden}.composer-identity__copy{min-width:0;line-height:1.3;display:grid}.composer-identity__copy strong{color:var(--color-text);font-size:var(--text-md)}.composer-identity__copy small{color:var(--color-muted);font-size:var(--text-sm)}.composer-body-wrap{display:contents}.composer-discard-confirm{z-index:2;align-content:center;gap:var(--space-4);padding:var(--space-6) var(--space-5);background:var(--color-panel);display:grid;position:absolute;inset:0}.composer-discard-confirm p{color:var(--color-text-soft);font-size:var(--text-base);line-height:var(--line-base);margin:0}.composer-discard-confirm__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.composer-submit--danger{background:var(--color-danger)}.composer-submit--danger:hover:not(:disabled){background:var(--color-danger);opacity:.9}.composer-type-tabs{z-index:1;gap:var(--space-2);margin-top:var(--space-4);padding:0 var(--space-5) var(--space-3);background:var(--color-panel);scrollbar-width:none;flex:none;display:flex;position:sticky;top:56px;overflow-x:auto}.composer-type-tabs::-webkit-scrollbar{display:none}.composer-type-tab{height:34px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);flex:none;align-items:center;gap:6px;font-weight:650;display:inline-flex}.composer-type-tab svg{width:var(--icon-sm);height:var(--icon-sm)}.composer-type-tab:hover{color:var(--color-text-soft)}.composer-type-tab.is-active{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-strong)}.auto-height-reveal{opacity:0;transition:height var(--transition-layout), opacity var(--transition-fast);overflow:hidden}.auto-height-reveal.is-open{opacity:1}.composer-body{padding:0 var(--space-5)}.composer-body__type{gap:var(--space-4);padding-bottom:var(--space-5);animation:composer-type-enter var(--duration-base) var(--ease-standard);display:grid}@keyframes composer-type-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.composer-textarea-row{position:relative}.composer-textarea{resize:none;width:100%;min-height:96px;color:var(--color-text);font-family:inherit;font-size:var(--text-lg);background:0 0;border:0;outline:0;padding:0;line-height:1.5;display:block}.composer-textarea::placeholder{color:var(--color-subtle)}.composer-textarea--no-ring:focus-visible{outline:none}.composer-counter{color:var(--color-subtle);font-size:var(--text-xs);font-variant-numeric:tabular-nums;position:absolute;bottom:-20px;right:0}.composer-sell-title input,.composer-sell-title{display:block}.composer-sell-title input{width:100%;height:var(--control-h-lg);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;outline:0;font-weight:650}.composer-sell-title input:focus-visible{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.composer-inline-warning{color:var(--color-warning);font-size:var(--text-sm);margin:0}.composer-field{min-width:0;position:relative}.composer-field>label,.composer-field__label-text,.composer-poll-fields>legend{margin-bottom:var(--space-2);color:var(--color-muted);font-size:var(--text-sm);font-weight:700;display:block}.composer-field>input,.composer-field>select,.composer-field>textarea,.composer-poll-option>input{width:100%;min-width:0;height:var(--control-h-lg);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;outline:0}.composer-field>textarea{height:auto;min-height:calc(var(--control-h-lg) * 1.6);padding-top:var(--space-2);padding-bottom:var(--space-2);resize:none}.composer-field>input:focus-visible,.composer-field>select:focus-visible,.composer-field>textarea:focus-visible,.composer-poll-option>input:focus-visible{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.composer-field>input:disabled{cursor:not-allowed;opacity:.55}.composer-mention-list{top:calc(100% + var(--space-1));z-index:var(--z-dropdown);width:min(320px,100%);max-height:40vh;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);display:grid;position:absolute;left:0;overflow-y:auto}.composer-mention-list>button{grid-template-columns:var(--avatar-sm) minmax(0, 1fr);align-items:center;gap:var(--space-3);min-width:0;min-height:var(--touch-target);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;display:grid}.composer-mention-list>button:hover{background:var(--color-accent-soft)}.composer-mention-list>button strong,.composer-mention-list>button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.composer-mention-list>button small{color:var(--color-muted);font-size:var(--text-sm)}.composer-mention-list>p{margin:var(--space-3);color:var(--color-muted);font-size:var(--text-sm)}.composer-book-picker__list{top:calc(100% + var(--space-1));z-index:var(--z-dropdown);max-height:40vh;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);display:grid;position:absolute;left:0;right:0;overflow-y:auto}.composer-book-picker__list>button{grid-template-columns:var(--avatar-sm) minmax(0, 1fr);align-items:center;gap:var(--space-3);min-width:0;min-height:var(--touch-target);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;display:grid}.composer-book-picker__list>button:hover,.composer-book-picker__list>button[aria-selected=true]{background:var(--color-accent-soft)}.composer-book-picker__list>button>span:last-child,.composer-selected-book>span{min-width:0;display:grid}.composer-book-picker__list strong,.composer-book-picker__list small,.composer-selected-book strong,.composer-selected-book small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composer-book-picker__list small,.composer-selected-book small{color:var(--color-muted);font-size:var(--text-sm)}.composer-book-picker__list>p{margin:var(--space-3);color:var(--color-muted);font-size:var(--text-md)}.composer-selected-book{grid-template-columns:var(--avatar-sm) minmax(0, 1fr) auto;align-items:center;gap:var(--space-3);min-width:0;margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--color-accent-soft);display:grid}.composer-selected-book>button{min-height:var(--control-h-sm);border-radius:var(--radius-sm);color:var(--color-accent-strong);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:700}.composer-book-picker__add-book{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);margin-top:var(--space-1);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-accent-strong);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;font-weight:650;display:flex}.composer-book-picker__add-book:hover{background:var(--color-accent-soft)}.composer-book-picker__add-book svg{width:var(--icon-sm);height:var(--icon-sm)}.composer-add-book{gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);display:grid}.composer-add-book__back{align-items:center;gap:var(--space-2);width:fit-content;color:var(--color-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:600;display:inline-flex}.composer-add-book__back:hover{color:var(--color-text)}.composer-add-book__back svg{width:var(--icon-sm);height:var(--icon-sm)}.composer-add-book__grid{gap:var(--space-3);grid-template-columns:72px minmax(0,1fr);display:grid}.composer-add-book__cover{aspect-ratio:var(--book-cover-ratio);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-subtle);cursor:pointer;place-items:center;display:grid;overflow:hidden}.composer-add-book__cover img{object-fit:cover;width:100%;height:100%;display:block}.composer-add-book__cover span{text-align:center;flex-direction:column;align-items:center;gap:4px;font-size:10px;display:flex}.composer-add-book__cover svg{width:var(--icon-md);height:var(--icon-md)}.composer-add-book__fields{gap:var(--space-2);display:grid}.composer-add-book__submit{min-height:var(--control-h-md);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-on-accent);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), opacity var(--transition-fast);border:0;font-weight:700}.composer-add-book__submit:hover{background:var(--color-accent-strong)}.composer-add-book__submit:disabled{cursor:not-allowed;opacity:.55}.composer-rating{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.composer-rating__option{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:34px;height:34px;color:var(--color-text-soft);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);place-items:center;font-weight:650;display:grid}.composer-rating__option:hover{border-color:var(--color-accent-border)}.composer-rating__option.is-lit{border-color:var(--color-accent-border);background:var(--color-accent);color:var(--color-on-accent)}.composer-rating__value{margin-left:var(--space-2);color:var(--color-text);font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:700}.composer-poll-fields{border:0;padding:0}.composer-poll-option{grid-template-columns:minmax(0, 1fr) var(--touch-target);align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:grid}.composer-poll-option>button{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-sm);color:var(--color-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.composer-poll-option>button:hover{background:var(--color-danger-soft);color:var(--color-danger)}.composer-poll-option>button svg,.composer-poll-add svg{width:var(--icon-sm);height:var(--icon-sm)}.composer-poll-add{align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);border-radius:var(--radius-sm);color:var(--color-accent-strong);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:700;display:inline-flex}.composer-sell-fields__grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.composer-sell-condition{gap:var(--space-2);flex-wrap:wrap;display:flex}.composer-sell-condition__option{height:var(--control-h-md);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);font-weight:650}.composer-sell-condition__option:hover{background:var(--color-surface-raised)}.composer-sell-condition__option.is-active{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-strong)}.composer-sell-fields__cover{align-items:center;gap:var(--space-3);display:flex}.composer-sell-cover-preview{flex:none;width:56px}.composer-sell-cover-preview--empty{aspect-ratio:var(--book-cover-ratio);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-subtle);font-size:var(--text-xs);text-align:center;place-items:center;display:grid}.composer-sell-fields__cover-button{align-items:center;gap:var(--space-2);height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;font-weight:650;display:inline-flex}.composer-sell-fields__cover-button:hover{background:var(--color-surface-raised);color:var(--color-text)}.composer-sell-fields__cover-button svg{width:var(--icon-sm);height:var(--icon-sm)}.composer-sell-fields__cover-remove{align-items:center;gap:var(--space-1);color:var(--color-danger);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:650;display:inline-flex}.composer-sell-fields__cover-remove svg{width:var(--icon-xs);height:var(--icon-xs)}.composer-footer{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border-soft);background:var(--color-panel);flex:none;display:flex;position:sticky;bottom:0}.composer-footer__status{min-width:0;color:var(--color-muted);font-size:var(--text-sm)}.composer-footer__actions{align-items:center;gap:var(--space-3);flex:none;display:flex}.composer-cancel{height:var(--control-h-md);padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--color-text-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:0;align-items:center;font-weight:650;display:inline-flex}.composer-cancel:hover{background:var(--color-surface-raised)}.composer-submit{height:var(--control-h-md);padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), opacity var(--transition-fast);border:0;align-items:center;font-weight:700;display:inline-flex}.composer-submit:hover:not(:disabled){background:var(--color-accent-strong)}.composer-submit:disabled{cursor:default;opacity:.45}@media (max-width:767px){.composer-type-tabs{top:56px}.composer-sell-fields__grid{grid-template-columns:1fr}}
.comments-reveal{opacity:0;transition:grid-template-rows var(--transition-layout), opacity var(--transition-fast);grid-template-rows:0fr;display:grid}.comments-reveal.is-open{opacity:1;grid-template-rows:1fr}.comments-reveal__inner{overflow:hidden}.comments-section{border-top:1px solid var(--color-border-soft);margin:0 14px 14px;padding-top:12px}.comment-composer{align-items:center;gap:8px;margin-bottom:12px;display:flex}.comment-composer--locked{border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-muted);padding:10px 12px;font-size:13px}.comment-composer--locked a{color:var(--color-accent);font-weight:650}.comment-composer--locked a:hover{text-decoration:underline}.comment-composer__avatar{background:var(--avatar-tone-coral-bg);width:30px;height:30px;color:var(--avatar-tone-coral-fg);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:750;display:grid;overflow:hidden}.comment-composer__input{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;height:36px;color:var(--color-text);border-radius:999px;flex:1;padding:0 12px;font-size:13px}.comment-composer__input::placeholder{color:var(--color-subtle)}.comment-composer__input:focus{border-color:var(--color-accent-border);outline:0}.comment-composer__submit{background:var(--color-accent);width:32px;height:32px;color:var(--color-on-accent);cursor:pointer;transition:background var(--transition-fast), opacity var(--transition-fast);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.comment-composer__submit svg{width:15px;height:15px}.comment-composer__submit:disabled{cursor:default;opacity:.4}.comment-composer__submit:not(:disabled):hover{background:var(--color-accent-strong)}.comments-section__empty{color:var(--color-muted);text-align:center;margin:8px 0 0;font-size:13px}.comments-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.comments-list--nested{border-left:2px solid var(--color-border-soft);gap:10px;margin:10px 0 0;padding-left:18px;list-style:none}.comments-list--flat{border-left:0;padding-left:0}.comment-item{gap:8px;display:flex}.comment-item__avatar{background:var(--avatar-tone-coral-bg);width:30px;height:30px;color:var(--avatar-tone-coral-fg);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:750;display:grid;overflow:hidden}.comment-item--reply .comment-item__avatar{width:26px;height:26px;font-size:10px}.comment-item__body{flex:1;min-width:0}.comment-item__bubble{border-radius:var(--radius-md);background:var(--color-surface-raised);padding:8px 12px}.comment-item__header{align-items:center;gap:6px;display:flex}.comment-item__header strong{color:var(--color-text);font-size:13px;font-weight:700}.comment-item__header .verified-mark{--verified-size:15px}.comment-item__text{color:var(--color-text-soft);margin:2px 0 0;font-size:13.5px;line-height:19px}.comment-item__footer{align-items:center;gap:12px;margin:4px 0 0;padding-left:12px;display:flex}.comment-item__time{color:var(--color-subtle);font-size:11.5px}.comment-item__action{color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:0;align-items:center;gap:4px;font-size:11.5px;font-weight:650;display:inline-flex}.comment-item__action svg{width:13px;height:13px}.comment-item__action:hover,.comment-item__action.is-active{color:var(--color-accent-strong)}.comment-item__action.is-active svg{fill:currentColor}.comment-item__reply-composer{margin:8px 0 0}
.notification-bell{position:relative}.notification-panel{border:1px solid var(--color-border);background:var(--color-panel);flex-direction:column;max-height:420px;display:flex}.notification-panel--popover{z-index:var(--z-dropdown);border-radius:var(--radius-lg);width:340px;box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 10px);right:0}.notification-panel__header{flex:none;justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.notification-panel__header h2{color:var(--color-text);margin:0;font-size:14px;font-weight:720}.notification-panel__close{width:30px;height:30px;color:var(--color-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.notification-panel__close:hover{background:var(--color-surface-raised);color:var(--color-text)}.notification-panel__close svg{width:16px;height:16px}.notification-panel__list{margin:0;padding:6px 8px 10px;list-style:none;overflow-y:auto}.notification-item{border-radius:var(--radius-md);transition:background var(--transition-fast);align-items:flex-start;gap:10px;padding:10px 26px 10px 8px;display:flex;position:relative}.notification-item:hover{background:var(--color-surface-raised)}.notification-item.is-unread{background:var(--color-accent-soft)}.notification-item.is-unread:hover{background:#de735629}.notification-item__avatar{background:var(--avatar-tone-coral-bg);width:36px;height:36px;color:var(--avatar-tone-coral-fg);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:750;display:grid;overflow:hidden}.notification-item__body{flex:1;min-width:0}.notification-item__body p{color:var(--color-text-soft);margin:0;font-size:13px;line-height:18px}.notification-item.is-unread .notification-item__body p{color:var(--color-text);font-weight:550}.notification-item__body strong{color:var(--color-text);font-weight:700}.notification-item__body time{color:var(--color-muted);margin-top:3px;font-size:11.5px;display:block}.notification-item__dot{background:var(--color-accent);border-radius:50%;flex:none;width:7px;height:7px;position:absolute;top:14px;right:10px}.notification-sheet-backdrop{top:var(--header-height);z-index:var(--z-overlay);background:#00000080;position:fixed;bottom:0;left:0;right:0}.notification-panel--sheet{right:0;bottom:calc(56px + env(safe-area-inset-bottom,0px));z-index:var(--z-sheet);max-height:60vh;box-shadow:var(--shadow-sheet);border-radius:20px;position:fixed;left:0}@media (max-width:767px){.notification-bell{display:none}}
.scroll-to-top{z-index:var(--z-fab);border:1px solid var(--color-border);background:var(--color-surface);width:42px;height:42px;color:var(--color-text-soft);cursor:pointer;box-shadow:var(--shadow-fab);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:24px;right:20px}.scroll-to-top:hover{border-color:var(--color-border-hover);background:var(--color-surface-raised);color:var(--color-accent);transform:translateY(-2px)}.scroll-to-top:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.scroll-to-top svg{width:20px;height:20px}@media (max-width:767px){.scroll-to-top{bottom:calc(56px + env(safe-area-inset-bottom,0px) + 16px)}}
.toast-viewport{right:var(--space-6);bottom:var(--space-6);z-index:var(--z-toast);align-items:flex-end;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast-item{align-items:center;gap:var(--space-3);max-width:320px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-lg);color:var(--color-text);font-size:var(--text-base);pointer-events:auto;animation:toast-rise var(--duration-base) var(--ease-standard);font-weight:620;display:flex}.toast-item--success{border-color:var(--color-success)}.toast-item__icon{width:var(--icon-lg);height:var(--icon-lg);background:var(--color-success-soft);color:var(--color-success);border-radius:50%;flex:none;place-items:center;display:grid}.toast-item__icon svg{width:var(--icon-sm);height:var(--icon-sm)}@keyframes toast-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:767px){.toast-viewport{right:var(--space-4);left:var(--space-4);bottom:calc(var(--mobile-nav-height) + var(--space-4));align-items:center}.toast-item{width:100%;max-width:360px}}
.dropdown-menu{position:relative}.dropdown-menu__panel{z-index:var(--z-dropdown);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-panel);width:220px;box-shadow:var(--shadow-lg);padding:6px;position:absolute;top:calc(100% + 8px)}.dropdown-menu__panel--end{right:0}.dropdown-menu__panel--start{left:0}.dropdown-menu__list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.dropdown-menu__item{border-radius:var(--radius-md);width:100%;color:var(--color-text-soft);text-align:left;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;align-items:center;gap:12px;padding:9px 10px;font-size:13.5px;display:flex}.dropdown-menu__item:hover{background:var(--color-surface-raised);color:var(--color-text)}.dropdown-menu__item svg{width:18px;height:18px;color:var(--color-muted);flex:0 0 18px}.dropdown-menu__item:hover svg{color:var(--color-text-soft)}.dropdown-menu__item--warning,.dropdown-menu__item--warning svg{color:var(--color-warning)}.dropdown-menu__item--warning:hover{background:var(--color-warning-soft);color:var(--color-warning)}.dropdown-menu__item--warning:hover svg{color:var(--color-warning)}.dropdown-menu__item--danger,.dropdown-menu__item--danger svg{color:var(--color-danger)}.dropdown-menu__item--danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}.dropdown-menu__item--danger:hover svg{color:var(--color-danger)}
.search-page,.share-page{width:min(100%, var(--main-column-width));min-width:0;margin:0 auto}.search-page__header{margin-bottom:var(--space-5)}.search-page__header h1{color:var(--color-text);margin:0;font-size:24px}.search-page__header p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-md)}.search-page__input{min-height:var(--avatar-lg);border-radius:var(--radius-lg)}.search-page__input input{font-size:var(--text-base)}.search-page__filters{gap:var(--space-2);min-width:0;margin:var(--space-4) 0 var(--space-6);display:flex;overflow-x:auto}.search-page__filters button{min-width:calc(var(--touch-target) + var(--control-h-md))}.search-discovery,.search-empty{justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-muted);text-align:center;display:grid}.search-discovery>span{width:var(--avatar-lg);height:var(--avatar-lg);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);place-items:center;display:grid}.search-discovery svg,.search-empty svg{width:var(--icon-xl);height:var(--icon-xl)}.search-discovery h2,.search-discovery p,.search-empty h2,.search-empty p{margin:0}.search-discovery h2,.search-empty h2{color:var(--color-text);font-size:var(--text-lg)}.search-discovery>div{justify-content:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.search-discovery button{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-soft);cursor:pointer;background:0 0}.search-discovery button:hover{border-color:var(--color-accent-border);color:var(--color-accent-strong)}.search-results{gap:var(--space-6);display:grid}.search-results section{min-width:0}.search-results h2{margin:0 0 var(--space-3);color:var(--color-text);font-size:var(--text-lg)}.search-result-list{gap:var(--space-2);display:grid}.search-result{grid-template-columns:var(--avatar-md) minmax(0, 1fr) auto;align-items:center;gap:var(--space-3);min-width:0;min-height:var(--avatar-lg);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:inherit;display:grid}.search-result:hover{border-color:var(--color-accent-border)}.search-result--book{transition:background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:0 0;border-color:#0000}.search-result--book:hover{background:var(--color-surface-raised);box-shadow:var(--shadow-sm);border-color:#0000;transform:translateY(-1px)}.search-result>span:nth-child(2){min-width:0;display:grid}.search-result strong{align-items:center;gap:var(--space-1);min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;display:inline-flex;overflow:hidden}.search-result__display-name{align-items:center;gap:var(--space-1);width:fit-content;max-width:100%;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:inline-flex;overflow:hidden}.search-result__display-name:hover{color:var(--color-accent-strong)}.search-result small{color:var(--color-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-result em{align-items:center;gap:var(--space-1);color:var(--color-star);font-size:var(--text-sm);font-style:normal;font-weight:700;display:inline-flex}.search-result em svg{width:var(--icon-sm);height:var(--icon-sm);fill:currentColor}.search-result__avatar{width:var(--avatar-md);height:var(--avatar-md);border-radius:var(--radius-pill);background:var(--color-surface-raised);color:var(--color-muted);place-items:center;display:grid;overflow:hidden}.search-result__avatar svg{width:var(--icon-lg);height:var(--icon-lg)}@media (max-width:767px){.search-page__header p{display:none}.search-page__filters{margin-bottom:var(--space-4)}.search-result{grid-template-columns:var(--avatar-md) minmax(0, 1fr)}.search-result em{grid-column:2}}
.settings-page{width:min(100%, var(--main-column-width));min-width:0;padding-bottom:var(--space-6);margin:0 auto}.settings-page__header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.settings-page__header>span,.settings-section__heading>span{border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-strong);flex:none;place-items:center;display:grid}.settings-page__header>span{width:var(--control-h-lg);height:var(--control-h-lg)}.settings-page__header svg{width:var(--icon-lg);height:var(--icon-lg)}.settings-page__header h1,.settings-section__heading h2{color:var(--color-text);margin:0}.settings-page__header h1{font-size:24px;line-height:1.2}.settings-page__header p,.settings-section__heading p{margin:var(--space-1) 0 0;color:var(--color-muted)}.settings-page__header p{font-size:var(--text-md)}.settings-form{gap:var(--space-4);flex-direction:column;display:flex}.settings-section{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.settings-section__heading{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.settings-section__heading>span{width:var(--control-h-md);height:var(--control-h-md)}.settings-section__heading svg{width:var(--icon-md);height:var(--icon-md)}.settings-section__heading h2{font-size:var(--text-lg);line-height:1.3}.settings-section__heading p{font-size:var(--text-sm)}.settings-avatar-row,.settings-account-action,.settings-toggle-row{align-items:center;min-width:0;display:flex}.settings-avatar-row{gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-soft)}.settings-avatar{width:var(--avatar-lg);height:var(--avatar-lg);border:1px solid var(--color-accent-border);background:var(--avatar-tone-coral-bg);color:var(--avatar-tone-coral-fg);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.settings-avatar-row>span:nth-child(2),.settings-account-action>span,.settings-toggle-row>span{flex-direction:column;flex:auto;min-width:0;display:flex}.settings-avatar-row strong,.settings-account-action strong,.settings-toggle-row strong,.settings-appearance-controls strong{color:var(--color-text);font-size:var(--text-md);font-weight:680}.settings-avatar-row small,.settings-account-action small,.settings-toggle-row small{color:var(--color-muted);font-size:var(--text-sm);margin-top:2px}.settings-secondary-btn,.settings-save-btn{min-height:var(--control-h-md);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:680}.settings-secondary-btn{align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-soft);cursor:pointer;flex:none;display:inline-flex}.settings-secondary-btn:disabled{color:var(--color-subtle);cursor:not-allowed}.settings-secondary-btn svg{width:var(--icon-sm);height:var(--icon-sm)}.settings-banner-control{gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-soft);display:grid}.settings-banner-control__heading{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.settings-banner-control__heading>span{min-width:0;display:grid}.settings-banner-control__heading strong{color:var(--color-text);font-size:var(--text-md)}.settings-banner-control__heading small,.settings-banner-control__hint{color:var(--color-muted);font-size:var(--text-sm)}.settings-banner-control__heading small{margin-top:2px}.settings-banner-preview{aspect-ratio:4;border-radius:var(--radius-md);background:var(--color-surface-subtle);width:100%;display:block;position:relative;overflow:hidden}.settings-banner-preview.is-editable{cursor:grab;touch-action:none}.settings-banner-preview.is-dragging{cursor:grabbing}.settings-banner-preview img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;display:block}.settings-banner-control__hint{margin:0}.settings-field-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.settings-field--wide{grid-column:1/-1}.settings-field>span:first-child{color:var(--color-text-soft);font-size:var(--text-sm);font-weight:650}.settings-field input,.settings-field textarea,.settings-field select{width:100%;min-width:0;min-height:var(--control-h-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:0}.settings-field input,.settings-field select{padding:0 var(--space-3)}.settings-field textarea{min-height:calc(var(--control-h-lg) * 2);padding:var(--space-3);resize:vertical}.settings-field input:focus,.settings-field textarea:focus,.settings-field select:focus{border-color:var(--color-accent-border);box-shadow:0 0 0 3px var(--color-accent-soft)}.settings-field input[readonly]{color:var(--color-muted)}.settings-field--with-icon{margin-bottom:var(--space-4)}.settings-username-field{align-items:center;display:flex;position:relative}.settings-username-field input{padding-right:calc(var(--space-8) + var(--space-1))}.settings-field__status-icon{right:var(--space-3);width:var(--icon-md);height:var(--icon-md);place-items:center;display:grid;position:absolute}.settings-field__status-icon svg{width:100%;height:100%}.settings-field__status-icon--valid{color:var(--color-success)}.settings-field__status-icon--invalid{color:var(--color-danger)}.settings-field__hint{min-height:15px;color:var(--color-muted);font-size:var(--text-xs)}.settings-field__hint--valid{color:var(--color-success)}.settings-field__hint--invalid{color:var(--color-danger)}.settings-field__control{align-items:center;display:flex;position:relative}.settings-field__control svg{left:var(--space-3);z-index:1;width:var(--icon-sm);height:var(--icon-sm);color:var(--color-muted);position:absolute}.settings-field__control input{padding-left:calc(var(--space-8) + var(--space-1))}.settings-account-action,.settings-toggle-row{gap:var(--space-4)}.settings-toggle-list{flex-direction:column;display:flex}.settings-toggle-row{min-height:calc(var(--touch-target) + var(--space-3));padding:var(--space-2) 0;border-top:1px solid var(--color-border-soft)}.settings-toggle-row:first-child{border-top:0;padding-top:0}.settings-switch{width:var(--control-h-lg);border-radius:var(--radius-pill);background:var(--color-surface-raised);cursor:pointer;height:24px;transition:background var(--transition-fast);border:0;flex:none;align-items:center;padding:2px;display:flex}.settings-switch>span{background:var(--color-surface);width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);border-radius:50%;transform:translate(0)}.settings-switch.is-active{background:var(--color-accent)}.settings-switch.is-active>span{transform:translate(20px)}.settings-field--select{margin-top:var(--space-4)}.settings-appearance-controls{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-appearance-controls>div{gap:var(--space-3);min-width:0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-subtle);flex-direction:column;display:flex}.settings-appearance-controls .theme-mode-switch,.settings-appearance-controls .accent-picker{margin:0}.settings-appearance-controls .theme-mode-switch{background:var(--color-surface-raised)}.settings-appearance-controls .theme-mode-btn{min-height:var(--control-h-sm)}.settings-appearance-controls .accent-swatch{width:var(--icon-lg);height:var(--icon-lg)}.settings-form__actions{justify-content:flex-end;align-items:center;gap:var(--space-3);padding-top:var(--space-2);display:flex}.settings-save-btn{min-height:var(--control-h-lg);padding:0 var(--space-5);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;transition:background var(--transition-fast);border:1px solid #0000}.settings-save-btn:hover{background:var(--color-accent-strong)}@media (max-width:1023px){.settings-secondary-btn,.settings-field input,.settings-field select,.settings-save-btn,.settings-appearance-controls .theme-mode-btn{min-height:var(--touch-target)}}@media (max-width:767px){.settings-page__header{margin-bottom:var(--space-4)}.settings-section{padding:var(--space-4)}.settings-field-grid,.settings-appearance-controls{grid-template-columns:minmax(0,1fr)}.settings-avatar-row,.settings-account-action,.settings-banner-control__heading{flex-wrap:wrap;align-items:flex-start}.settings-avatar-row>.settings-secondary-btn,.settings-account-action>.settings-secondary-btn{min-height:var(--touch-target)}.settings-switch{min-width:var(--touch-target);min-height:var(--touch-target);padding:12px 2px}.settings-field input,.settings-field select,.settings-save-btn{min-height:var(--touch-target)}.settings-save-btn{width:100%}}
.reading-goal-page{width:min(100%,760px);min-width:0;margin:0 auto}.reading-goal-card{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.reading-goal-card__header{align-items:center;gap:var(--space-3);min-width:0;display:flex}.reading-goal-card__icon{width:var(--control-h-lg);height:var(--control-h-lg);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-strong);flex:none;place-items:center;display:grid}.reading-goal-card__icon svg{width:var(--icon-lg);height:var(--icon-lg)}.reading-goal-card__header>div{min-width:0}.reading-goal-card__eyebrow{color:var(--color-muted);font-size:var(--text-xs);font-weight:680;display:block}.reading-goal-card h1{color:var(--color-text);font-size:var(--text-xl);line-height:var(--line-md);margin:2px 0 0}.reading-goal-card__edit,.reading-goal-form button{min-height:var(--control-h-md);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;background:0 0;font-weight:680;display:inline-flex}.reading-goal-card__edit{margin-left:auto}.reading-goal-card__edit:hover,.reading-goal-form__cancel:hover{background:var(--color-surface-raised)}.reading-goal-card__edit svg,.reading-goal-form button svg{width:var(--icon-sm);height:var(--icon-sm)}.reading-goal-card__summary{gap:var(--space-3);margin-top:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.reading-goal-card__summary>div{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-subtle);gap:2px;display:grid}.reading-goal-card__summary strong{color:var(--color-text);font-size:28px;line-height:1.1}.reading-goal-card__summary span{color:var(--color-muted);font-size:var(--text-sm)}.reading-goal-progress{margin-top:var(--space-6)}.reading-goal-progress__labels{color:var(--color-text-soft);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.reading-goal-progress__labels strong{color:var(--color-accent-strong)}.reading-goal-progress__track{height:10px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-raised);overflow:hidden}.reading-goal-progress__track>span{border-radius:inherit;background:var(--color-accent);height:100%;transition:width var(--transition-layout);display:block}.reading-goal-progress p{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.reading-goal-form{gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border-soft);display:grid}.reading-goal-form label{color:var(--color-text-soft);font-size:var(--text-sm);font-weight:650}.reading-goal-form>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.reading-goal-form input{width:124px;min-height:var(--control-h-md);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text);outline:0}.reading-goal-form input:focus{border-color:var(--color-accent-border);box-shadow:0 0 0 3px var(--color-accent-soft)}.reading-goal-form button[type=submit]{background:var(--color-accent);color:var(--color-on-accent);border-color:#0000}@media (max-width:660px){.reading-goal-card{padding:var(--space-4)}.reading-goal-card__header{flex-wrap:wrap;align-items:flex-start}.reading-goal-card__edit{width:100%;margin-left:0}.reading-goal-card__summary{gap:var(--space-2);margin-top:var(--space-5)}.reading-goal-card__summary>div{padding:var(--space-3)}.reading-goal-card__summary strong{font-size:23px}.reading-goal-card__summary span{font-size:var(--text-xs)}}.reading-status-board{margin-top:var(--space-6);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.reading-status-board h2{margin:0 0 var(--space-4);color:var(--color-text);font-size:var(--text-lg);font-weight:720}.reading-status-tabs{gap:var(--space-4);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border-soft);display:flex}.reading-status-tab{align-items:center;gap:var(--space-2);height:40px;color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:650;display:inline-flex}.reading-status-tab:hover{color:var(--color-text-soft)}.reading-status-tab.is-active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.reading-status-tab__count{border-radius:var(--radius-pill);background:var(--color-surface-subtle);min-width:20px;height:20px;color:var(--color-muted);place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.reading-status-tab.is-active .reading-status-tab__count{background:var(--color-accent-soft);color:var(--color-accent)}.reading-status-board__empty{margin:var(--space-6) 0;color:var(--color-muted);font-size:var(--text-md);text-align:center}.reading-status-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.reading-status-row{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);grid-template-columns:46px minmax(0,1fr) auto;min-width:0;display:grid}.reading-status-row__cover{width:46px}.reading-status-row__info{flex-direction:column;gap:2px;min-width:0;display:flex}.reading-status-row__title{color:var(--color-text);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:660;overflow:hidden}.reading-status-row__title:hover{color:var(--color-accent-strong)}.reading-status-row__author{color:var(--color-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reading-status-row__progress{margin-top:var(--space-2);gap:6px;display:grid}.reading-status-row__progress-track{border-radius:var(--radius-pill);background:var(--color-surface-raised);height:6px;overflow:hidden}.reading-status-row__progress-track>span{border-radius:inherit;background:var(--color-accent);height:100%;transition:width var(--transition-layout);display:block}.reading-status-row__progress-controls{align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-xs);display:flex}.reading-status-row__progress-controls input{width:64px;min-height:28px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--text-xs);outline:0}.reading-status-row__progress-controls input:focus{border-color:var(--color-accent-border);box-shadow:0 0 0 3px var(--color-accent-soft)}.reading-status-row__actions{flex:none}.reading-status-row__action{height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-soft);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;gap:6px;font-weight:650;display:inline-flex}.reading-status-row__action:hover{background:var(--color-surface-raised);color:var(--color-text)}.reading-status-row__action--primary{background:var(--color-accent);color:var(--color-on-accent);border-color:#0000}.reading-status-row__action--primary:hover{background:var(--color-accent-strong)}.reading-status-row__action svg{width:var(--icon-sm);height:var(--icon-sm)}.reading-status-row__done-badge{color:var(--color-success);font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:6px;font-weight:650;display:inline-flex}.reading-status-row__done-badge svg{width:var(--icon-sm);height:var(--icon-sm)}@media (max-width:660px){.reading-status-board{padding:var(--space-4)}.reading-status-tabs{gap:var(--space-3);scrollbar-width:none;overflow-x:auto}.reading-status-tabs::-webkit-scrollbar{display:none}.reading-status-tab{flex:none}.reading-status-row{row-gap:var(--space-2);grid-template-columns:40px minmax(0,1fr)}.reading-status-row__cover{width:40px}.reading-status-row__actions{grid-column:1/-1;justify-content:flex-end;display:flex}}
.composer-page-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden}.composer-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-3);flex-wrap:wrap;display:flex}.composer-header .composer-identity{padding:0}.composer-header__controls{gap:var(--space-2);flex-wrap:wrap;display:flex}.composer-privacy-trigger{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);height:34px;color:var(--color-text-soft);white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.composer-privacy-trigger svg{flex:none;width:16px;height:16px}.composer-privacy-trigger:hover,.composer-privacy-trigger.is-open{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-strong)}.composer-privacy .dropdown-menu__panel{width:200px}.composer-page-card .composer-type-tabs,.composer-page-card .composer-footer{position:static}@media (max-width:640px){.composer-header{flex-direction:column;align-items:flex-start}.composer-header__controls{width:100%}.composer-privacy{flex:auto}.composer-privacy-trigger{width:100%;height:var(--touch-target);justify-content:center}}@media (max-width:767px){.composer-page-card{margin:0 calc(var(--space-4) * -1);border-left:0;border-right:0;border-radius:0}}
.shop-page{width:100%;max-width:var(--shell-book-max);min-width:0;margin:0 auto}.shop-section{margin-top:var(--space-8);min-width:0}.shop-section__heading{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.shop-section__heading h2{color:var(--color-text);font-size:var(--text-xl);margin:0}.shop-category-empty{min-height:180px;margin-top:var(--space-8);place-content:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);text-align:center;display:grid}.shop-category-empty h2,.shop-category-empty p{margin:0}.shop-category-empty h2{color:var(--color-text);font-size:var(--text-xl)}.shop-category-empty p{color:var(--color-muted);font-size:var(--text-md)}@media (max-width:767px){.shop-section{margin-top:var(--space-6)}}
.shop-nav{width:100%;max-width:var(--shell-book-max);min-width:0;margin:0 auto var(--space-6);scrollbar-width:none;overflow-x:auto}.shop-nav::-webkit-scrollbar{display:none}.shop-nav__list{gap:var(--space-2);flex-wrap:nowrap;min-width:0;margin:0;padding:0;list-style:none;display:flex}.shop-nav__item{height:var(--control-h-md);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-soft);font-size:var(--text-sm);white-space:nowrap;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);flex:none;align-items:center;font-weight:640;display:inline-flex}.shop-nav__item:hover{border-color:var(--color-border-hover);background:var(--color-surface-raised);color:var(--color-text)}.shop-nav__item.is-active{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent)}@media (max-width:767px){.shop-nav{display:none}}
.shop-product-grid{gap:var(--space-4);grid-template-columns:repeat(6,minmax(0,1fr));min-width:0;display:grid}@media (max-width:1279px){.shop-product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:1023px){.shop-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:639px){.shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:479px){.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:359px){.shop-product-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}.shop-product-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;height:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex;overflow:hidden}.shop-product-card:hover{border-color:var(--color-accent-border);box-shadow:var(--shadow-sm)}.shop-product-card__link{min-width:0;color:inherit;text-decoration:none;display:block}.shop-product-card__cover-wrap{position:relative}.shop-product-card__cover{border-width:0 0 1px;border-radius:0}.shop-product-card__title-row{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.shop-product-card__favorite{width:var(--icon-lg);height:var(--icon-lg);color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.shop-product-card__favorite svg{width:var(--icon-sm);height:var(--icon-sm)}.shop-product-card__favorite:hover{background:var(--color-accent-soft);color:var(--color-accent-strong)}.shop-product-card__favorite.is-active{color:var(--color-danger)}.shop-product-card__favorite.is-active svg{fill:var(--color-danger)}.shop-product-card__body{min-width:0;padding:var(--space-3);flex-direction:column;flex:1;gap:2px;display:flex}.shop-product-card__title{min-width:0;color:var(--color-text);font-size:var(--text-md);line-height:var(--line-md);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;text-decoration:none;display:-webkit-box;overflow:hidden}.shop-product-card__title:hover{color:var(--color-accent-strong)}.shop-product-card__author{color:var(--color-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shop-product-card__seller{color:var(--color-muted);font-size:var(--text-xs);margin-top:1px}.shop-product-card__footer{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);margin-top:auto;display:flex}.shop-product-card__price{align-items:baseline;gap:var(--space-2);color:var(--color-text);font-size:var(--text-md);font-weight:750;display:flex}.shop-product-card__view{width:var(--control-h-sm);height:var(--control-h-sm);border:1px solid var(--color-border);color:var(--color-text);transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:8px;flex:none;place-items:center;display:grid}.shop-product-card__view svg{width:var(--icon-sm);height:var(--icon-sm)}.shop-product-card__view:hover{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-strong)}@media (max-width:767px){.shop-product-grid{gap:var(--space-3)}.shop-product-card__body{padding:var(--space-2)}}
.cart-empty{justify-items:center;gap:var(--space-3);text-align:center;max-width:420px;margin:80px auto;display:grid}.cart-empty__icon{width:var(--avatar-lg);height:var(--avatar-lg);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-accent);place-items:center;display:grid}.cart-empty__icon svg{width:var(--icon-xl);height:var(--icon-xl)}.cart-empty h1{color:var(--color-text);font-size:var(--text-xl);margin:0}.cart-empty p{color:var(--color-muted);margin:0}.cart-empty__cta{height:var(--control-h-lg);margin-top:var(--space-2);padding:0 var(--space-6);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);transition:background var(--transition-fast);align-items:center;font-weight:700;display:inline-flex}.cart-empty__cta:hover{background:var(--color-accent-strong)}.cart-page__title{margin:0 0 var(--space-5);color:var(--color-text);font-size:26px}.cart-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.cart-items{gap:var(--space-3);flex-direction:column;min-width:0;margin:0;padding:0;list-style:none;display:flex}.cart-item{align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:64px minmax(0,1fr) auto auto auto;display:grid}.cart-item__cover-link{flex:none;display:block}.cart-item__cover{width:64px;padding:var(--space-2);box-shadow:var(--shadow-sm)}.cart-item__cover .book-cover-art__eyebrow{display:none}.cart-item__cover strong{-webkit-line-clamp:3;font-size:10px;line-height:12px}.cart-item__cover small{display:none}.cart-item__info{flex-direction:column;gap:2px;min-width:0;display:flex}.cart-item__title{color:var(--color-text);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.cart-item__title:hover{color:var(--color-accent-strong)}.cart-item__author{color:var(--color-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cart-item__meta{color:var(--color-subtle);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cart-item__quantity{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:4px;display:flex}.cart-item__quantity button{width:26px;height:26px;color:var(--color-text-soft);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.cart-item__quantity button:hover{background:var(--color-surface-raised)}.cart-item__quantity button svg{width:var(--icon-xs);height:var(--icon-xs)}.cart-item__quantity span{min-width:16px;color:var(--color-text);font-size:var(--text-sm);text-align:center;font-weight:650}.cart-item__price{color:var(--color-text);font-size:var(--text-md);white-space:nowrap;font-weight:750}.cart-item__remove{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--radius-sm);color:var(--color-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;place-items:center;display:grid}.cart-item__remove:hover{background:var(--color-danger-soft);color:var(--color-danger)}.cart-item__remove svg{width:var(--icon-sm);height:var(--icon-sm)}.cart-summary{top:calc(var(--header-height) + var(--space-4));gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex;position:sticky}.cart-summary h2{margin:0 0 var(--space-1);color:var(--color-text);font-size:var(--text-lg)}.cart-summary__row{color:var(--color-muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.cart-summary__row--total{padding-top:var(--space-3);border-top:1px solid var(--color-border-soft);color:var(--color-text);font-size:var(--text-lg);font-weight:750}.cart-summary__cta{height:var(--control-h-lg);margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font:inherit;font-size:var(--text-md);cursor:pointer;transition:background var(--transition-fast);border:0;justify-content:center;align-items:center;font-weight:700;display:flex}.cart-summary__cta:hover{background:var(--color-accent-strong)}@media (max-width:1023px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}}@media (max-width:660px){.cart-item{row-gap:var(--space-2);padding:var(--space-3);grid-template-columns:52px minmax(0,1fr) auto;grid-template-areas:"cover info remove""cover quantity price"}.cart-item__cover-link{grid-area:cover}.cart-item__info{grid-area:info}.cart-item__remove{grid-area:remove;justify-self:end}.cart-item__quantity{grid-area:quantity;justify-self:start}.cart-item__price{grid-area:price;justify-self:end}}
.social-feed-page{min-width:0}.social-feed-page__header{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);display:flex}.social-feed-page__header>span{width:var(--control-h-lg);height:var(--control-h-lg);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent);flex:none;place-items:center;display:grid}.social-feed-page__header svg{width:var(--icon-lg);height:var(--icon-lg)}.social-feed-page__header h1{color:var(--color-text);font-size:var(--text-xl);line-height:var(--line-md);margin:0}.social-feed-page__header p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.social-feed-page__empty,.discovery-empty{align-content:center;place-items:center;gap:var(--space-2);min-height:240px;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-muted);text-align:center;display:grid}.social-feed-page__empty>svg,.discovery-empty>svg{width:var(--icon-xl);height:var(--icon-xl);color:var(--color-accent)}.social-feed-page__empty h2,.social-feed-page__empty p,.discovery-empty h1,.discovery-empty h2,.discovery-empty p{margin:0}.social-feed-page__empty h2,.discovery-empty h1,.discovery-empty h2{color:var(--color-text);font-size:var(--text-lg)}.discovery-empty__link{margin-top:var(--space-2);color:var(--color-accent-strong);font-weight:700}@media (max-width:660px){.social-feed-page__header{padding:var(--space-3)}.social-feed-page__header p{line-height:var(--line-sm)}}
.authors-page,.author-page{width:100%;max-width:var(--shell-book-max);min-width:0;margin:0 auto}.discovery-page-header{align-items:center;gap:var(--space-4);min-width:0;margin-bottom:var(--space-5);display:flex}.discovery-page-header>span{width:var(--avatar-lg);height:var(--avatar-lg);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-accent);flex:none;place-items:center;display:grid}.discovery-page-header svg{width:var(--icon-xl);height:var(--icon-xl)}.discovery-page-header h1{color:var(--color-text);margin:0;font-size:24px}.discovery-page-header p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-md)}.authors-search{width:min(100%,560px);min-width:0;min-height:var(--control-h-lg);align-items:center;gap:var(--space-3);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-muted);display:flex}.authors-search:focus-within{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.authors-search svg{width:var(--icon-md);height:var(--icon-md);flex:none}.authors-search input{min-width:0;color:var(--color-text);background:0 0;border:0;outline:0;flex:1}.authors-section{min-width:0;margin-top:var(--space-8)}.authors-section__heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.authors-section__heading h2{color:var(--color-text);font-size:var(--text-xl);margin:0}.authors-section__heading>span{color:var(--color-muted);font-size:var(--text-sm);flex:none}.authors-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.author-card{grid-template-columns:var(--avatar-lg) minmax(0, 1fr) auto;gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);grid-template-areas:"avatar identity books""bio bio books""stats stats books";display:grid}.author-card:hover{border-color:var(--color-accent-border);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.author-card__avatar{width:var(--avatar-lg);height:var(--avatar-lg);border-radius:50%;grid-area:avatar;place-items:center;font-weight:760;display:grid}.author-card__identity{grid-area:identity;align-content:center;min-width:0;display:grid}.author-card__identity strong{color:var(--color-text);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.author-card__identity small{margin-top:var(--space-1);color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.author-card__bio{color:var(--color-text-soft);font-size:var(--text-sm);line-height:var(--line-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:bio;display:-webkit-box;overflow:hidden}.author-card__stats{gap:var(--space-3);color:var(--color-muted);font-size:var(--text-xs);flex-wrap:wrap;grid-area:stats;display:flex}.author-card__stats>span{align-items:center;gap:var(--space-1);display:inline-flex}.author-card__stats svg{width:var(--icon-xs);height:var(--icon-xs)}.author-card__books{align-self:stretch;align-items:center;gap:var(--space-1);grid-area:books;display:flex}.author-card__cover{border-radius:var(--radius-xs);width:48px;box-shadow:none;border:0;padding:0}.author-card__cover .book-cover-art__eyebrow,.author-card__cover strong,.author-card__cover small{display:none}.author-hero{grid-template-columns:var(--avatar-xl) minmax(0, 1fr) auto;align-items:center;gap:var(--space-6);min-width:0;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.author-hero__avatar{width:var(--avatar-xl);height:var(--avatar-xl);border-radius:50%;place-items:center;font-size:28px;font-weight:780;display:grid}.author-hero__copy{min-width:0}.author-hero__eyebrow{color:var(--color-accent-strong);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:750}.author-hero h1{margin:var(--space-1) 0 0;overflow-wrap:anywhere;color:var(--color-text);font-size:28px;line-height:1.2}.author-hero__copy>p{max-width:680px;margin:var(--space-2) 0 0;color:var(--color-text-soft);font-size:var(--text-md);line-height:var(--line-md)}.author-hero__genres{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.author-hero__genres span{padding:var(--space-1) var(--space-2);border:1px solid var(--color-accent-border);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:var(--text-xs)}.author-hero__stats{gap:var(--space-4);margin:0;display:flex}.author-hero__stats>div{min-width:96px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.author-hero__stats dt{align-items:center;gap:var(--space-1);color:var(--color-muted);font-size:var(--text-xs);display:flex}.author-hero__stats dt svg{width:var(--icon-xs);height:var(--icon-xs)}.author-hero__stats dd{margin:var(--space-1) 0 0;color:var(--color-text);font-size:var(--text-lg);font-weight:760}@media (max-width:1023px){.authors-grid{grid-template-columns:1fr}.author-hero{grid-template-columns:var(--avatar-xl) minmax(0, 1fr)}.author-hero__stats{grid-column:1/-1}}@media (max-width:767px){.discovery-page-header{margin-bottom:var(--space-4)}.discovery-page-header>span{width:var(--touch-target);height:var(--touch-target)}.authors-section{margin-top:var(--space-6)}.author-card{grid-template-columns:var(--avatar-lg) minmax(0, 1fr);grid-template-areas:"avatar identity""bio bio""stats stats""books books"}.author-card__books{justify-content:flex-start}.author-hero{gap:var(--space-4);padding:var(--space-4);grid-template-columns:72px minmax(0,1fr)}.author-hero__avatar{width:72px;height:72px;font-size:var(--text-xl)}.author-hero h1{font-size:23px}.author-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.author-hero__stats>div{min-width:0}}
.collection-page{width:min(100%, var(--feed-width));min-width:0}.collection-page__header{align-items:center;gap:var(--space-3);min-width:0;margin-bottom:var(--space-4);display:flex}.collection-page__header>span{width:var(--avatar-lg);height:var(--avatar-lg);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-accent);flex:none;place-items:center;display:grid}.collection-page__header svg{width:var(--icon-xl);height:var(--icon-xl)}.collection-page__header h1{color:var(--color-text);margin:0;font-size:24px}.collection-page__header p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.collection-tabs{gap:var(--space-1);min-width:0;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.collection-tabs button{min-width:0;min-height:var(--control-h-md);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-md);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:0;font-weight:680;display:flex}.collection-tabs button svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}.collection-tabs button>span{min-width:22px;padding:1px var(--space-1);border-radius:var(--radius-pill);background:var(--color-surface-raised);font-size:var(--text-xs)}.collection-tabs button.is-active{background:var(--color-surface);color:var(--color-accent-strong);box-shadow:var(--shadow-sm)}.collection-panel{min-width:0;min-height:400px;margin-top:var(--space-4)}.collection-filters{gap:var(--space-2);min-width:0;margin-bottom:var(--space-3);padding-bottom:var(--space-1);display:flex;overflow-x:auto}.collection-filters button{min-height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;flex:none;font-weight:650}.collection-filters button.is-active{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-strong)}.collection-posts{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.collection-books{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-empty{align-content:center;place-items:center;gap:var(--space-2);min-height:300px;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-muted);text-align:center;display:grid}.collection-empty>svg{width:var(--icon-xl);height:var(--icon-xl);color:var(--color-accent)}.collection-empty h2,.collection-empty p{margin:0}.collection-empty h2{color:var(--color-text);font-size:var(--text-lg)}.collection-empty a{margin-top:var(--space-2);color:var(--color-accent-strong);font-weight:700}@media (max-width:767px){.collection-page__header>span{width:var(--touch-target);height:var(--touch-target)}.collection-tabs button{min-height:var(--touch-target);padding:0 var(--space-2)}.collection-books{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-empty{min-height:260px;padding:var(--space-6)}}
.follow-list-page{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.follow-list-page__back{align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-sm);font-weight:600;display:inline-flex}.follow-list-page__back:hover{color:var(--color-text)}.follow-list-page__back svg{width:var(--icon-sm);height:var(--icon-sm)}.follow-list-page__header h1{color:var(--color-text);letter-spacing:-.2px;margin:0;font-size:22px;font-weight:760}.follow-list-page__header p{color:var(--color-muted);font-size:var(--text-sm);margin:4px 0 0}.follow-list-page__empty{margin:var(--space-8) 0;color:var(--color-muted);font-size:var(--text-md);text-align:center}.follow-list{flex-direction:column;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.follow-list__row{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.follow-list__row+.follow-list__row{margin-top:8px}.follow-list__identity{align-items:center;gap:var(--space-3);min-width:0;color:inherit;flex:1;display:flex}.follow-list__avatar{width:var(--avatar-sm);height:var(--avatar-sm);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid;overflow:hidden}.follow-list__meta{flex-direction:column;gap:2px;min-width:0;display:flex}.follow-list__meta strong{color:var(--color-text);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-weight:660;display:inline-flex;overflow:hidden}.follow-list__meta small{color:var(--color-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.follow-list__self{color:var(--color-subtle);font-size:var(--text-sm);flex:none;font-weight:600}.follow-list__btn{background:var(--color-accent);height:37px;color:var(--color-on-accent);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 15px;font-size:14px;font-weight:680;display:inline-flex}.follow-list__btn:hover{background:var(--color-accent-strong)}.follow-list__btn.is-following{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}@media (hover:hover) and (pointer:fine){.follow-list__btn.is-following.hover-armed:hover{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}}.follow-list__btn-icon{place-items:center;width:19px;height:19px;display:grid}.follow-list__btn-icon svg{width:100%;height:100%}.follow-list__btn-label-stack{display:inline-grid;position:relative}.follow-list__btn-label-stack .follow-list__btn-label{transition:opacity var(--transition-fast);grid-area:1/1}.follow-list__btn-label-stack .follow-list__btn-label--hover{opacity:0}@media (hover:hover) and (pointer:fine){.follow-list__btn.is-following.hover-armed:hover .follow-list__btn-label--default{opacity:0}.follow-list__btn.is-following.hover-armed:hover .follow-list__btn-label--hover{opacity:1}}@media (max-width:767px){.follow-list__row{padding:var(--space-2) var(--space-3)}}
html{scrollbar-gutter:auto}.home-design{font-family:var(--font-sans)}.home-main>.workspace,.home-main .content-transition{width:100%;min-width:0}.compact-book-item__cover--missing{border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-muted);place-items:center;font-size:11px;font-weight:750;display:grid}.compact-book-item__placeholder-line{border-radius:var(--radius-pill);background:var(--color-surface-raised);width:100%;height:8px;display:block}.compact-book-item__placeholder-line--short{width:62%;height:6px}@media (max-width:767px){.mobile-bottom-nav{min-height:0;padding:0 0 env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:none;box-shadow:none;grid-template-columns:none;gap:0}}.notification-item[role=button]{cursor:pointer}.notification-panel__retry{width:100%;color:var(--color-accent-strong);cursor:pointer;text-align:left;background:0 0;border:0;padding:8px}
.shop-route-context{gap:var(--space-2);margin:0 0 var(--space-5);display:grid}.shop-route-context h1,.shop-route-context p{margin:0}.shop-route-context h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem)}.shop-route-context p{color:var(--color-muted)}.shop-load-more{padding:var(--space-7) 0 var(--space-3);justify-content:center;display:flex}.shop-load-more button{min-height:42px;padding:0 var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;font-weight:700}.shop-load-more button:disabled{cursor:wait;opacity:.65}.transplant-page-state{min-height:14rem;color:var(--text-secondary,#64748b);text-align:center;place-items:center;padding:2rem;display:grid}.transplant-load-more{padding:var(--space-6,1.5rem) 0;justify-content:center;display:flex}.transplant-load-more button{min-height:42px;padding:0 var(--space-5,1.25rem);border:1px solid var(--color-border,#d7dde5);background:var(--color-surface,#fff);color:var(--color-text,#172033);cursor:pointer;font:inherit;border-radius:999px;font-weight:700}.transplant-load-more button:disabled{cursor:wait;opacity:.65}
