:root {
  --bg: #101010; --surface: #191919; --surface-2: #242424; --surface-3: #303030;
  --line: #343434; --text: #fafafa; --muted: #aaa; --blue: #fb3c58; --blue-light: #ff7187;
  --cyan: #ff7187; --green: #f6f6f6; --orange: #fb3c58; --accent: #fb3c58;
  --panel-bg: #191919; --admin-bg: #101010; --admin-border: #323232; --admin-muted: #aaa;
  --admin-text: #fafafa; --admin-accent: #fb3c58; --tblr-primary: #d01d3c; --tblr-primary-rgb: 208,29,60;
}
html[data-theme=light], html[data-bs-theme=light] {
  --bg: #f8f8f8; --surface: #fff; --surface-2: #eee; --surface-3: #e7e7e7;
  --line: #ddd; --text: #202020; --muted: #626262;
  --panel-bg: #fff; --admin-bg: #f6f6f6; --admin-border: #ddd; --admin-text: #202020; --admin-muted: #626262;
}
body { background: var(--bg); }
.brand-mark { width: 43px; height: 43px; object-fit: contain; background: #fefefe; border-radius: 9px; }
.brand-name { font-family: Inter, sans-serif; font-size: 23px; font-weight: 900; letter-spacing: -.065em; }
.brand-name > span, .mobile-menu-head strong span, .admin-brand .text-blue { color: var(--accent)!important; }
.brand-name small { display: inline!important; color: var(--muted); letter-spacing: -.04em; font-size: 11px; margin: 0; }
.site-header { position: sticky; top: 0; z-index: 40; background: color-mix(in srgb, var(--bg) 95%, transparent); border-color: var(--line); backdrop-filter: blur(20px); }
.site-header .topbar { min-height: 84px; display: flex; align-items: center; gap: 18px; flex-wrap: nowrap; }
.site-header .header-search { height: 48px; margin-left: 24px; flex: 1; min-width: 0; max-width: 700px; background: var(--surface-2); border: 1px solid var(--line); }
.site-header .header-search input { color: var(--text); width: auto; }
.site-header .header-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px #fb3c5814; }
.site-header .header-search button { color: var(--muted); background: transparent; }
.site-header .header-actions { display: flex; align-items: center; gap: 9px; margin-left: auto; }
.site-header .brand { display: inline-flex; gap: 9px; }
.site-header .brand-name { font-size: 23px; }
.site-header .nav-row { min-height: 57px; gap: 10px; display: flex; }
.site-header .nav-categories { display: flex; flex: 1; gap: 2px; overflow-x: auto; min-width: 0; padding: 0; }
.site-header .nav-categories a, .site-header .nav-utility { font-size: 12px; padding: 8px; flex: none; }
.site-header .nav-categories a i { color: var(--accent); background: #fb3c5812; }
.site-header .cart-link { background: var(--surface-2); color: var(--text); }
.site-header .cart-count { background: var(--accent); color: white; }
.btn-primary, .product-card-action { background: #d01d3c; border-color: #d01d3c; color: #fff; box-shadow: none; }
.btn-primary:hover, .product-card-action:hover { background: #b81834; border-color: #b81834; }
.btn-outline { background: var(--surface-2); border-color: var(--line); color: var(--text); }
.price, .cart-item-price { color: var(--text); }
.site-footer { background: var(--surface); border-color: var(--line); }
.site-footer .brand-name { font-size: 21px; }
.mobile-menu-overlay { z-index: 120; }
.mobile-menu-panel, .mobile-menu-main, .mobile-menu-rail { background: var(--bg); color: var(--text); }
.mobile-menu-search, .mobile-category-card, .mobile-menu-rail-item.is-active { background: var(--surface-2); border-color: var(--line); }
.mobile-menu-panel .mobile-menu-icon { color: #ff7187; background: #fb3c5819; }
.mobile-menu-panel .is-active .mobile-menu-icon { color: #fff; background: #d01d3c; }
.mobile-bottom-nav { background: var(--surface); border-color: var(--line); }
.mobile-bottom-nav .active { color: var(--accent); }
.book-visual { min-height: 250px; padding: 28px; background: var(--surface-2); }
.book-visual img { height: 215px; width: 145px; object-fit: contain; filter: drop-shadow(5px 8px 8px #0005); }
.book-visual:before, .book-visual:after { display: none; }
.book-art { padding: 35px; background: var(--surface-2)!important; }
.book-art img { width: min(75%, 290px); height: 380px; object-fit: contain; }
.book-art:before, .book-art:after { display: none; }
.admin-brand { font-size: 21px; gap: 8px; padding-left: 6px; }
.admin-brand .brand-mark { width: 35px; height: 35px; }
.admin-tabs button.active { color: #ff7187; background: #fb3c5815; box-shadow: inset 3px 0 #fb3c58; }
.form-buttons { display: flex; gap: 12px; margin-top: 20px; }
.admin-shell .form-control, .admin-shell .form-select { background-color: var(--panel-bg); border-color: var(--admin-border); color: var(--admin-text); }
.admin-shell .form-control:focus, .admin-shell .form-select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px #fb3c5818; }
.book-home .product-visual:before, .book-home .product-visual:after { display: none; }
.book-home .site-header .brand-name small { font-size: 12px; }
.book-home .site-footer .brand > span { font-size: 21px; }
.book-home .toast { right: auto; }
@media (max-width: 1100px) {
  .site-header .header-search { margin-left: 0; }
  .site-header .nav-utility { display: none; }
}
@media (max-width: 760px) {
  .site-header .topbar { min-height: 67px; gap: 9px; padding-block: 10px; flex-wrap: wrap; }
  .site-header .brand-mark { width: 33px; height: 33px; }
  .site-header .brand-name { font-size: 19px; }
  .site-header .header-actions { display: none; }
  .site-header .header-search { display: none; margin: 0; order: 10; width: 100%; flex-basis: 100%; }
  .site-header.search-open .header-search { display: flex; }
  .site-header .mobile-search-trigger { margin-left: auto; }
  .site-header .nav-shell { display: none; }
  .book-home { padding-bottom: 70px; }
  .book-home .toast { bottom: 85px; }
  .book-visual { min-height: 210px; padding: 24px 12px; }
  .book-visual img { height: 175px; width: 120px; }
}
@media (max-width: 390px) {
  .site-header .topbar { gap: 6px; }
  .site-header .brand-name { font-size: 16px; }
  .site-header .brand-name small { font-size: 10px; }
  .site-header .brand { gap: 5px; }
  .site-header .brand-mark { width: 28px; height: 28px; }
}
@media (max-width: 480px) {
  .site-header .brand-name small { display: none!important; }
  .site-header .brand-name { font-size: 16px; }
  .site-header .topbar { gap: 6px; }
  .site-header .mobile-menu-trigger, .site-header .mobile-search-trigger,
  .site-header .mobile-notification-link, .site-header .cart-link { width: 32px; height: 34px; }
  .site-header .brand { margin-inline: auto; }
}
@media (max-width: 340px) {
  .site-header .brand-name { font-size: 14px; }
  .site-header .topbar { gap: 4px; }
  .site-header .brand-mark { width: 25px; height: 25px; }
}
