:root{--ink:#1a2930;--ink-muted:#5a6c75;--bg:#fff;--surface:#f7f9fa;--rule:#d4dfe4;--accent:#0d7377;--accent-hover:#095a5d;--accent-ink:#fff;--accent-warm:#e76f51;--accent-warm-pale:#fef3f0;--success:#2d6a4f;--success-pale:#f0f7f4;--warning:#d97706;--warning-pale:#fef6ed;--measure:60ch;scrollbar-color:var(--rule) transparent;caret-color:var(--accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ink:#e8f0f2;--ink-muted:#9fb3bb;--bg:#0f1a1d;--surface:#1a2930;--rule:#2d4048;--accent:#14a1a8;--accent-hover:#18c4cc;--accent-ink:#0f1a1d;--accent-warm:#f4927c;--accent-warm-pale:#2a1f1c;--success:#52b788;--success-pale:#1a2620;--warning:#fbbf24;--warning-pale:#2a2419}}*,:before,:after{box-sizing:border-box}html{overflow-x:clip}body{-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}.screen{min-height:100vh;padding-bottom:88px}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance;margin:0}h1{color:var(--ink);font-size:1.75rem;font-weight:700;line-height:1.2}h2{font-size:1.375rem;font-weight:600;line-height:1.3}h3{font-size:1.125rem;font-weight:600;line-height:1.4}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-underline-offset:.18em}.num{font-variant-numeric:tabular-nums}button,[role=button],summary,select,input[type=checkbox],input[type=radio]{min-height:44px}button{cursor:pointer;min-width:44px;font-family:inherit}input,select,textarea{font:inherit;font-size:max(1rem,16px)}img,video,canvas,svg{max-width:100%;height:auto}pre{overflow-x:auto}@media (width<=480px){.screen{padding-inline:1rem}}.tab-bar{background:var(--surface);border-top:1px solid var(--rule);z-index:100;justify-content:space-around;align-items:center;height:72px;padding:0 1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--ink-muted);background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-width:auto;padding:8px 16px;font-size:.75rem;font-weight:500;transition:all .18s ease-out;display:flex}.tab svg{stroke-width:2px;width:24px;height:24px;transition:all .18s ease-out}.tab:hover{color:var(--accent);background:var(--bg)}.tab.active{color:var(--accent)}.tab.active svg{stroke-width:2.5px}.books-list{max-width:1200px;margin:0 auto;padding-top:2rem}.books-header{margin-bottom:2rem;padding-inline:1.5rem}.books-header h1{margin-bottom:1.25rem}.filter-group{flex-wrap:wrap;gap:.5rem;display:flex}.filter-btn{background:var(--surface);border:1px solid var(--rule);color:var(--ink);border-radius:8px;min-height:auto;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .18s ease-out}.filter-btn:hover{background:var(--bg);border-color:var(--accent)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.books-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin:0;padding:0;padding-inline:1.5rem;list-style:none;display:grid}.book-card{background:var(--surface);border:1px solid var(--rule);border-radius:12px;flex-direction:column;gap:1rem;padding:1.25rem;transition:all .18s ease-out;display:flex}.book-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #00000014}.book-content{flex-direction:column;flex:1;gap:.5rem;display:flex}.book-title{color:var(--ink);margin:0}.book-author{color:var(--ink-muted);margin:0;font-size:.9375rem}.status-badge{border-radius:6px;align-self:flex-start;margin-top:.25rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;display:inline-block}.status-want-to-read{background:var(--warning-pale);color:var(--warning)}.status-reading{background:var(--accent-warm-pale);color:var(--accent-warm)}.status-finished{background:var(--success-pale);color:var(--success)}.book-actions{border-top:1px solid var(--rule);gap:.5rem;padding-top:.5rem;display:flex}.action-btn{background:var(--bg);border:1px solid var(--rule);color:var(--ink-muted);border-radius:6px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem;transition:all .18s ease-out;display:flex}.action-btn svg{width:18px;height:18px}.action-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.action-btn.delete:hover{background:var(--accent-warm);border-color:var(--accent-warm);color:#fff}.book-edit-form{flex-direction:column;gap:.75rem;display:flex}.edit-input,.edit-select{border:1px solid var(--rule);background:var(--bg);color:var(--ink);border-radius:8px;padding:.75rem;transition:border-color .18s ease-out}.edit-input:focus,.edit-select:focus{border-color:var(--accent);outline:none}.edit-actions{gap:.5rem;margin-top:.25rem;display:flex}.btn-save,.btn-cancel{border:none;border-radius:8px;flex:1;padding:.75rem;font-weight:600;transition:all .18s ease-out}.btn-save{background:var(--accent);color:var(--accent-ink)}.btn-save:hover{background:var(--accent-hover)}.btn-cancel{background:var(--surface);color:var(--ink);border:1px solid var(--rule)}.btn-cancel:hover{background:var(--bg)}.empty-state{text-align:center;max-width:400px;margin:0 auto;padding:4rem 1.5rem}.empty-icon{width:64px;height:64px;color:var(--ink-muted);opacity:.6;margin-bottom:1.5rem}.empty-state h2{color:var(--ink);margin-bottom:.75rem}.empty-state p{color:var(--ink-muted);margin:0;line-height:1.6}.add-book{max-width:600px;margin:0 auto;padding-top:2rem}.add-book-container{padding-inline:1.5rem}.add-book-container h1{margin-bottom:2rem}.add-book-form{background:var(--surface);border:1px solid var(--rule);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.form-field{margin-bottom:1.25rem}.form-field:last-of-type{margin-bottom:1.75rem}.form-field label{color:var(--ink);margin-bottom:.5rem;font-size:.9375rem;font-weight:600;display:block}.form-input,.form-select{border:1px solid var(--rule);background:var(--bg);width:100%;color:var(--ink);border-radius:8px;padding:.875rem;transition:all .18s ease-out}.form-input:focus,.form-select:focus{border-color:var(--accent);outline:none}.form-input::placeholder{color:var(--ink-muted);opacity:.6}.btn-primary{background:var(--accent);width:100%;color:var(--accent-ink);border:none;border-radius:8px;padding:1rem;font-size:1rem;font-weight:600;transition:all .18s ease-out}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0d737733}.btn-primary:active{transform:translateY(0)}.error-message{background:var(--accent-warm-pale);border:1px solid var(--accent-warm);color:var(--accent-warm);border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.875rem 1rem;font-size:.9375rem;display:flex}.error-message svg{flex-shrink:0;width:20px;height:20px}.form-hint{background:var(--surface);border:1px solid var(--rule);border-radius:12px;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.form-hint svg{width:28px;height:28px;color:var(--accent);flex-shrink:0;margin-top:.125rem}.form-hint p{color:var(--ink-muted);margin:0;font-size:.9375rem;line-height:1.6}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.book-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.tab svg,.action-btn,.filter-btn,.btn-primary,.form-input:focus,.form-select:focus{transition:all .18s cubic-bezier(.4,0,.2,1)}}@media (width<=480px){body,.container,[class*=container],section,header,footer,nav,main,article{padding-inline:max(1rem,16px)}}
