:root{--ink:#16181a;--ink-muted:#5a5c5e;--bg:linear-gradient(135deg, #faf6f5 0%, #f5f4f6 50%, #eef3ef 100%);--bg-solid:#f5f4f6;--surface:#fff;--rule:#c9c7c4;--accent:#dcddf3;--accent-hover:#c8caeb;--accent-ink:#16181a;--measure:60ch;scrollbar-color:var(--rule) transparent;scrollbar-width:thin;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:#e8e9ec;--ink-muted:#9ca3af;--bg:linear-gradient(135deg, #141414 0%, #0f0f0f 100%);--bg-solid:#0f0f0f;--surface:#1a1a1a;--rule:#2a2a2a;--accent:#9b9de8;--accent-hover:#8385d8;--accent-ink:#0a0a0a}}*,: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:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.6}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative}.screen{flex:1;padding:60px 60px 120px}@media (width<=768px){.screen{padding:40px 40px 100px}}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance}::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{min-width:44px}input,select,textarea{font:inherit;font-size:max(1rem,16px)}img,video,canvas,svg{max-width:100%;height:auto}pre{overflow-x:auto}.crosshair{pointer-events:none;z-index:1000;width:20px;height:20px;position:fixed}.crosshair:before,.crosshair:after{content:"";background:var(--rule);position:absolute}.crosshair:before{width:1px;height:100%}.crosshair:after{width:100%;height:1px}.crosshair-tl,.crosshair-tl:before,.crosshair-tl:after{top:0;left:0}.crosshair-tr,.crosshair-tr:before,.crosshair-tr:after{top:0;right:0}.crosshair-bl,.crosshair-bl:before,.crosshair-bl:after{bottom:0;left:0}.crosshair-br,.crosshair-br:before,.crosshair-br:after{bottom:0;right:0}@media (width<=768px){.crosshair{width:12px;height:12px}}.tab-bar{border-top:1px solid var(--rule);background:var(--bg-solid);z-index:100;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-button{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:0 0;border:none;flex:1;padding:16px 20px;font-family:ui-monospace,SF Mono,Cascadia Mono,Roboto Mono,monospace;font-size:11px;transition:all .2s}.tab-button:hover,.tab-button.active{background:var(--accent);color:var(--accent-ink)}.tab-button+.tab-button{border-left:1px solid var(--rule)}.book-list-screen{max-width:900px;margin:0 auto}.list-header{border-bottom:1px solid var(--rule);margin-bottom:32px;padding-bottom:16px}.list-title{letter-spacing:-.02em;margin:0 0 8px;font-size:2rem;font-weight:400}.list-meta{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);font-family:ui-monospace,SF Mono,Cascadia Mono,Roboto Mono,monospace;font-size:11px}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.filter-button{border:1px solid var(--rule);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:0 0;padding:8px 16px;font-family:ui-monospace,SF Mono,Cascadia Mono,Roboto Mono,monospace;font-size:11px;transition:all .2s}.filter-button:hover,.filter-button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.filter-count{opacity:.7;margin-left:6px}.book-list{margin:0;padding:0;list-style:none}.book-item{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 0;display:flex}.book-item:first-child{border-top:1px solid var(--rule)}.book-content{flex:1;min-width:0}.book-title{color:var(--ink);margin-bottom:4px;font-size:1.25rem;font-weight:400}.book-author{color:var(--ink-muted);margin-bottom:8px}.book-status-label{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);font-family:ui-monospace,SF Mono,Cascadia Mono,Roboto Mono,monospace;font-size:11px}.remove-button{border:1px solid var(--rule);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:0 0;flex-shrink:0;padding:8px 16px;font-family:ui-monospace,SF Mono,Cascadia Mono,Roboto Mono,monospace;font-size:11px;transition:all .2s}.remove-button:hover{background:var(--ink);color:var(--bg-solid);border-color:var(--ink)}.empty-state{text-align:center;color:var(--ink-muted);padding:60px 20px}.empty-state p{margin-bottom:24px}.cta-button{background:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:none;padding:12px 24px;font-family:ui-monospace,SF Mono,Cascadia Mono,Roboto Mono,monospace;font-size:11px;transition:all .2s}.cta-button:hover{background:var(--accent-hover);transform:scale(.98)}.cta-button:active{transform:scale(.98)}.add-book-screen{max-width:600px;margin:0 auto}.form-header{border-bottom:1px solid var(--rule);margin-bottom:32px;padding-bottom:16px}.form-title{letter-spacing:-.02em;margin:0 0 8px;font-size:2rem;font-weight:400}.form-meta{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);font-family:ui-monospace,SF Mono,Cascadia Mono,Roboto Mono,monospace;font-size:11px}.book-form{flex-direction:column;gap:24px;display:flex}.form-field{flex-direction:column;gap:8px;display:flex}.field-label{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);font-family:ui-monospace,SF Mono,Cascadia Mono,Roboto Mono,monospace;font-size:11px}.field-input,.field-select{border:1px solid var(--rule);color:var(--ink);background:0 0;padding:12px 16px;font-family:inherit;font-size:max(1rem,16px);transition:all .2s}.field-input:focus,.field-select:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.field-input.error{border-color:#dc2626}.field-error{color:#dc2626;font-size:14px}.form-actions{gap:12px;margin-top:16px;display:flex}.submit-button,.cancel-button{text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:none;flex:1;padding:12px 24px;font-family:ui-monospace,SF Mono,Cascadia Mono,Roboto Mono,monospace;font-size:11px;transition:all .2s}.submit-button{background:var(--accent);color:var(--accent-ink)}.submit-button:hover{background:var(--accent-hover)}.submit-button:active{transform:scale(.98)}.cancel-button{color:var(--ink-muted);border:1px solid var(--rule);background:0 0}.cancel-button:hover{background:var(--ink);color:var(--bg-solid);border-color:var(--ink)}.cancel-button:active{transform:scale(.98)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--rule);transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=480px){body,.container,[class*=container],section,header,footer,nav,main,article{padding-inline:max(1rem,16px)}}p,li,dt,dd,blockquote,figcaption,td,th{max-width:min(75ch,100%)}
