/* Shared surfaces for light/dark appearance. Layout lives in apple-preview.css. */
:root { color-scheme:light; --page:#f5f5f7; --surface:#fff; --surface-soft:#f7f7f9; --field:#fafafa; --foreground:#1d1d1f; --secondary:#686871; --border:#e4e4e9; --accent:#0071e3; --accent-soft:#eaf3ff; --positive:#39734c; --positive-soft:#edf5ef; --danger:#bc3646; }
:root[data-theme="dark"] { color-scheme:dark; --page:#151517; --surface:#202023; --surface-soft:#29292e; --field:#29292e; --foreground:#f1f1f4; --secondary:#aaaab5; --border:#3b3b43; --accent:#78b7ff; --accent-soft:#243b54; --positive:#93d1a3; --positive-soft:#243d2e; --danger:#ff99a3; }
body.apple-preview { --ink:var(--foreground); --muted:var(--secondary); --line:var(--border); background:var(--page); color:var(--foreground); }
.apple-preview .navbar { background:var(--surface)!important; }
.apple-preview .navbar .nav-link { color:var(--secondary); }
.apple-preview .navbar-brand { color:var(--foreground); }
.theme-toggle { display:inline-flex; justify-content:center; align-items:center; width:36px; height:36px; border:1px solid var(--border); border-radius:50%; background:var(--surface-soft); color:var(--foreground); font-size:21px; margin-left:auto; margin-right:12px; cursor:pointer; }
.theme-toggle:hover { color:var(--accent); }
.theme-toggle:focus-visible, .apple-preview button:focus-visible, .apple-preview a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.login-theme { position:fixed; top:22px; right:18px; z-index:10; }
.apple-preview .card, .apple-preview .stats-card, .apple-preview .monthly-overview-card, .apple-preview .quick-add-card, .apple-preview .chart-card, .apple-preview .fun-stats-card, .apple-preview .library-toolbar, .apple-preview .modern-table, .apple-preview .modal-content, .apple-preview .modal-header, .apple-preview .toast, .apple-preview .toast-header, .apple-preview .dropdown-menu { background:var(--surface); color:var(--foreground); border-color:var(--border); }
.apple-preview .tbr-month-card, .apple-preview .boxed-set-card { background:var(--surface); border:1px solid var(--border); border-radius:18px; box-shadow:0 3px 12px #00000005; }
.apple-preview .tbr-month-card:hover, .apple-preview .boxed-set-card:hover { transform:none; box-shadow:0 3px 12px #00000005; }
.apple-preview .tbr-header, .apple-preview .boxed-set-header, .apple-preview .card-header { background:var(--surface); color:var(--foreground); border-bottom:1px solid var(--border); padding:22px; }
.apple-preview .tbr-header:hover, .apple-preview .boxed-set-header:hover { background:var(--surface-soft); }
.apple-preview .tbr-header-completed, .apple-preview .tbr-header-completed:hover { background:var(--positive-soft)!important; color:var(--positive); }
.apple-preview .tbr-month-title, .apple-preview .book-title, .apple-preview .modal-title, .apple-preview h2, .apple-preview h5 { color:var(--foreground); }
.apple-preview .tbr-content { background:var(--surface-soft); padding:20px; }
.apple-preview .book-card, .apple-preview .book-card[data-status] { background:var(--surface); color:var(--foreground); box-shadow:none; border:1px solid var(--border); border-left:3px solid var(--border); }
.apple-preview .book-card[data-status="阅读中"] { border-left-color:var(--accent); }
.apple-preview .book-card[data-status="读完"] { border-left-color:var(--positive); }
.apple-preview .book-card:hover { transform:none; box-shadow:none; }
.apple-preview .book-author, .apple-preview .book-meta, .apple-preview .text-muted, .apple-preview .form-label, .apple-preview .modern-label, .apple-preview .form-floating>label { color:var(--secondary)!important; }
.apple-preview .form-control, .apple-preview .form-select, .apple-preview .modern-input, .apple-preview .search-input-wrapper { background:var(--field); border-color:var(--border); color:var(--foreground); }
.apple-preview .form-floating>.form-control { padding-top:1.625rem; padding-bottom:.625rem; }
.apple-preview input::placeholder { color:var(--secondary); opacity:.85; }
.apple-preview .search-input { background:transparent; color:var(--foreground); }
.apple-preview .input-suffix { color:var(--secondary); }
.apple-preview .header-btn, .apple-preview .btn-secondary, .apple-preview .status-selector, .apple-preview .chart-tabs, .apple-preview .btn-icon { background:var(--surface-soft); border-color:var(--border); color:var(--secondary); }
.apple-preview .header-btn-primary, .apple-preview .btn-primary, .apple-preview .modern-submit-btn { background:#0071e3; border-color:#0071e3; color:white; }
.apple-preview .status-btn { color:var(--secondary); }
.apple-preview .status-btn.active, .apple-preview .status-btn.active[data-status="阅读中"] { background:var(--accent-soft); color:var(--accent); box-shadow:none; }
.apple-preview .status-btn.active[data-status="读完"] { background:var(--positive-soft); color:var(--positive); }
.apple-preview .btn-add-book, .apple-preview .quick-action-btn, .apple-preview .btn-outline-primary { background:var(--accent-soft); border-color:transparent; color:var(--accent); border-radius:9px; }
.apple-preview .btn-outline-danger { color:var(--danger); border-color:var(--danger); }
.apple-preview .dropdown-item { color:var(--foreground); }
.apple-preview .dropdown-item:hover { color:var(--accent); background:var(--accent-soft); }
.apple-preview .dropdown-divider { border-color:var(--border); }
.apple-preview .modal-footer { border-color:var(--border); }
.apple-preview .btn-outline-secondary { color:var(--secondary); border-color:var(--border); }
.apple-preview .btn-remove { background:var(--surface-soft); color:var(--danger); }
.apple-preview .table { color:var(--foreground); background:var(--surface); --bs-table-hover-bg:var(--surface-soft); --bs-table-hover-color:var(--foreground); border-color:var(--border); }
.apple-preview .table thead, .apple-preview .table-light, .apple-preview .modern-table thead { --bs-table-bg:var(--surface-soft); --bs-table-color:var(--secondary); background:var(--surface-soft); color:var(--secondary); }
.apple-preview .modern-table td, .apple-preview .modern-table th { border-color:var(--border); }
.apple-preview .modern-table tbody tr:hover { background:var(--surface-soft); }
.apple-preview .modern-table thead th, .apple-preview .price-cell, .apple-preview .date-cell, .apple-preview .cost-cell, .apple-preview .stats-label, .apple-preview .stats-subtitle { color:var(--secondary); }
.apple-preview .badge-owned, .apple-preview .badge-reading, .apple-preview .stat-badge.reading { background:var(--accent-soft); color:var(--accent); }
.apple-preview .badge-finished, .apple-preview .stat-badge.completed, .apple-preview .complete-badge { background:var(--positive-soft); color:var(--positive); }
.apple-preview .badge-unread, .apple-preview .badge-sold, .apple-preview .stat-badge { background:var(--surface-soft); color:var(--secondary); }
.apple-preview .chart-tab { color:var(--secondary); }
.apple-preview .chart-tab.active { background:var(--surface); color:var(--foreground); }
.apple-preview .modern-progress, .apple-preview .progress { background:var(--surface-soft); }
.apple-preview .progress-ring-bg { stroke:var(--border); }
.apple-preview .progress-ring-bar { stroke:var(--accent); }
.apple-preview .progress-complete .progress-ring-bar { stroke:var(--positive); }
.apple-preview .progress-check { color:var(--positive); }
.apple-preview .type-label { background:var(--surface-soft); color:var(--secondary); border-color:var(--border); box-shadow:none; }
.apple-preview .type-radio:checked+.type-label { background:var(--accent-soft); color:var(--accent); border-color:var(--accent); box-shadow:none; }
.apple-preview .type-title, .apple-preview .type-text, .apple-preview .type-desc { color:inherit; }
.apple-preview .list-group-item, .apple-preview .book-item { background:var(--surface); color:var(--foreground); border-color:var(--border); }
.apple-preview .list-group-item:hover, .apple-preview .book-item:hover { background:var(--surface-soft); }
.apple-preview .month-btn, .apple-preview .year-btn { background:var(--surface-soft); color:var(--foreground); border-color:var(--border); }
.apple-preview .month-btn.has-tbr { background:var(--accent-soft); color:var(--accent); }
.apple-preview .page-link { background:var(--surface); color:var(--accent); border-color:var(--border); }
.apple-preview .page-item.disabled .page-link { background:var(--surface-soft); color:var(--secondary); border-color:var(--border); }
.apple-preview .page-item.active .page-link { color:white; }
.apple-preview .btn { border-radius:9px; }
.apple-preview .login-page .card, .apple-preview.login-page .card { box-shadow:0 12px 50px #00000008!important; }
.apple-preview main>.row.justify-content-center { padding:32px 0; }
.apple-preview main>.row.justify-content-center h2 { margin-bottom:24px; font-size:28px; font-weight:600; letter-spacing:-.8px; }
.apple-preview main>.row.justify-content-center .card-body { padding:28px; }
.apple-preview .tbr-page-wrapper>.d-flex, .apple-preview.sets-page main>.d-flex { padding:16px; border:1px solid var(--border); border-radius:14px; background:var(--surface); gap:16px; }
.apple-preview .navbar .nav-link.active { color:var(--accent); background:var(--accent-soft); }
[data-theme="dark"] .apple-preview .btn-close { filter:invert(1) grayscale(100%) brightness(180%); }
[data-theme="dark"] .apple-preview .alert-info, [data-theme="dark"] .apple-preview .info-alert { background:#243746; color:#b8d9f1; border-color:#39556b; }
[data-theme="dark"] .apple-preview .alert-warning, [data-theme="dark"] .apple-preview .warning-alert { background:#423724; color:#ecd5a3; border-color:#625239; }
[data-theme="dark"] .apple-preview .alert-danger { background:#42282e; color:#ffbac3; border-color:#6d3c48; }
[data-theme="dark"] .apple-preview .alert-success { background:var(--positive-soft); color:var(--positive); border-color:#3c6548; }
[data-theme="dark"] .apple-preview .text-dark { color:var(--foreground)!important; }
[data-theme="dark"] .apple-preview .fun-stat-item .stat-value { color:var(--foreground); }
[data-theme="dark"] .apple-preview .fun-stat-item .stat-detail, [data-theme="dark"] .apple-preview .fun-stat-item .stat-label { color:var(--secondary); }
@media(min-width:992px) { .apple-preview .theme-toggle { order:3; margin-left:16px; margin-right:0; } }
@media(max-width:767px) {
 .apple-preview .modern-table .book-row { background:var(--surface); border-color:var(--border); }
 .apple-preview .modern-table td:last-child { border-color:var(--border); }
 .apple-preview .tbr-page-wrapper>.d-flex, .apple-preview.sets-page main>.d-flex { flex-wrap:wrap; }
 .apple-preview .book-card { align-items:flex-start; gap:14px; flex-wrap:wrap; }
 .apple-preview .book-actions { flex-wrap:wrap; }
 .apple-preview .tbr-header, .apple-preview .boxed-set-header { flex-wrap:wrap; gap:16px; padding:18px; }
 .apple-preview .header-actions { flex-wrap:wrap; }
}
