.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}}
.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);top: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-viewport--auth{top:auto;right:var(--space-6);bottom:var(--space-6);align-items:flex-end}.toast-item--auth{border-color:var(--color-warning);box-shadow:var(--shadow-md);animation:toast-rise-bottom var(--duration-base) var(--ease-standard)}.toast-item--auth .toast-item__icon{background:var(--color-warning-soft);color:var(--color-warning)}.toast-item__dismiss{width:var(--icon-lg);height:var(--icon-lg);color:var(--color-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid}.toast-item__dismiss svg{width:var(--icon-sm);height:var(--icon-sm)}.toast-item__dismiss:hover{background:var(--color-surface-raised);color:var(--color-text)}.toast-item__dismiss:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.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}}@keyframes toast-rise-bottom{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);top:auto;bottom:calc(var(--mobile-nav-height) + var(--space-4));align-items:center}.toast-item{width:100%;max-width:360px}.toast-viewport--auth{right:var(--space-4);left:var(--space-4);bottom:calc(var(--mobile-nav-height) + var(--space-4) + env(safe-area-inset-bottom,0px));align-items:center}}
.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)}
.settings-page{width:min(100%, var(--main-column-width));min-width:0;padding-bottom:var(--space-6);margin:0 auto}.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-section__heading h2{color:var(--color-text);margin:0}.settings-section__heading p{margin:var(--space-1) 0 0;color:var(--color-muted)}.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{color:var(--color-muted);font-size:var(--text-sm);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 img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;display:block}.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-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-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%}}
.composer-page-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden}@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-product-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;display:grid}@media (max-width:1279px){.shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1023px){.shop-product-grid{grid-template-columns:repeat(2,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))}}.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)}}
.social-feed-page{min-width:0}.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}
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}
