:root{--bg:#fff;--fg:#1c1d22;--muted:#a7b2c9;--accent:#1185fe;--accent-ink:#0a6fd6;--card:#f4f4f6;--quote-bg:#faf9f4;--border:#e5e6ea;--surface:#fff;--nav-bg:#ffffffe6;--overlay:#ffffffc7;--code-tint:#0000000d;--green:#1a9d4b;--yellow:#b07d10;--red:#d23b3b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14151a;--fg:#e8e9ec;--muted:#9aa1ab;--accent:#3b9bff;--accent-ink:#74b6ff;--card:#1c1e25;--quote-bg:#1a1c22;--border:#2b2e36;--surface:#1c1e25;--nav-bg:#14151ad9;--overlay:#14151acc;--code-tint:#ffffff17;--green:#3ad07a;--yellow:#e0b341;--red:#ff6b61}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55}a{color:var(--accent-ink)}code{background:var(--code-tint);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em}.brand{white-space:nowrap;font-feature-settings:"kern"}.brand-book{color:var(--fg);font-weight:400}.brand-margin{color:var(--accent);letter-spacing:-.02em;margin-left:.34em;font-weight:800}.brand-nav{font-size:1.3rem}.brand-hero{margin-bottom:1.5rem;font-size:2rem;display:block}button{font:inherit;cursor:pointer;background:var(--card);color:var(--fg);border:none;border-radius:999px;padding:.5rem 1rem}button.primary{background:var(--accent);color:#fff}button.primary:hover{background:var(--accent-ink)}button.big{padding:.8rem 1.6rem;font-size:1.05rem}button:disabled{opacity:.45;cursor:default}button.link{color:var(--accent-ink);background:0 0;border-radius:0;padding:0;font-size:.9rem;text-decoration:underline}input[type=text]{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:8px;min-width:11rem;padding:.5rem .7rem}input[type=text]:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.nav{z-index:20;background:var(--nav-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex;position:fixed;inset:0 0 auto}.nav>.brand{flex:none}.nav-summary{text-align:center;min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:.82rem;overflow:hidden}.nav-summary strong{color:var(--fg)}.need-isbn{font:inherit;color:var(--red);cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;text-decoration:underline}.nav-right{flex:none;align-items:center;gap:.5rem;display:flex}.nav-right form{gap:.4rem;display:flex}.nav-right button,.nav-right input[type=text]{border-radius:7px;padding:.38rem .6rem;font-size:.92rem}.nav-right button{padding:.38rem .8rem}.nav-right input[type=text]{min-width:9.5rem}.nav-right .reset{border:1.5px solid var(--red);width:34px;height:34px;color:var(--red);cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.nav-right .reset:hover{background:var(--red);color:#fff}.confirm{border:1px solid var(--border);background:var(--surface);max-width:22rem;color:var(--fg);border-radius:14px;padding:1.4rem 1.5rem;box-shadow:0 20px 60px #00000040}.confirm::backdrop{background:var(--overlay)}.confirm h2{margin:0 0 .5rem;font-size:1.15rem}.confirm p{color:var(--muted);margin:0 0 1.25rem;font-size:.95rem;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:.6rem;display:flex}.confirm button{cursor:pointer;border-radius:8px;padding:.5rem .95rem;font-size:.92rem}.confirm .ghost{border:1px solid var(--border);color:var(--fg);background:0 0}.confirm .danger{border:1px solid var(--red);background:var(--red);color:#fff;font-weight:600}.confirm .danger:hover{filter:brightness(.93)}.inspect{border:1px solid var(--border);background:var(--surface);width:min(46rem,100vw - 2rem);max-height:80vh;color:var(--fg);border-radius:14px;padding:0;overflow:hidden;box-shadow:0 20px 60px #0000004d}.inspect[open]{flex-direction:column;display:flex}.inspect::backdrop{background:var(--overlay)}.inspect-head{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:flex}.inspect-head h2{margin:0;font-size:1rem}.inspect-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;padding:.25rem;display:inline-flex}.inspect-close:hover{background:var(--card);color:var(--fg)}.inspect-uri{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;border-radius:0;flex:none;align-items:center;gap:.75rem;width:100%;padding:.5rem 1.1rem;display:flex}.inspect-uri:hover{background:var(--card)}.inspect-uri-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent-ink);flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.78rem;overflow:hidden}.inspect-uri-hint{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:none;font-size:.7rem}.inspect-uri-hint.is-copied{color:var(--green)}.inspect-body{flex:1;min-height:0;padding:.85rem .95rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem;line-height:1.6;overflow:auto}.y-line{align-items:flex-start;display:flex}.y-gutter{text-align:center;width:1rem;color:var(--muted);-webkit-user-select:none;user-select:none;flex:none;margin-right:.4rem}.y-content{flex:1;min-width:0;display:flex}.y-keypart,.y-dash{flex:none}.y-key{color:var(--accent-ink)}.y-val{overflow-wrap:anywhere;min-width:0;color:var(--fg);flex:1}.y-punct,.y-dash{color:var(--muted);margin-right:.45ch}.diff-add{background:color-mix(in srgb, var(--green) 16%, transparent)}.diff-del{background:color-mix(in srgb, var(--red) 16%, transparent)}.diff-add .y-gutter{color:var(--green)}.diff-del .y-gutter{color:var(--red)}.nav-right .who{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;font-size:.85rem;overflow:hidden}.nav-right .who:hover{color:var(--fg);text-decoration:underline}@media (width<=720px){.nav{flex-wrap:wrap;gap:.35rem .6rem;padding:.55rem .9rem}.brand-nav{font-size:1.1rem}.nav-summary{white-space:normal;text-overflow:clip;flex-basis:100%;order:3;min-width:0;overflow:visible}.nav-right input[type=text]{min-width:7rem}.who{display:none}main.review{padding-top:6rem}.book{scroll-margin-top:6rem}}.landing{text-align:center;max-width:40rem;margin:0 auto;padding:6rem 1.25rem 4rem}.landing h1{margin:0 0 2rem;font-size:1.9rem;font-weight:600;line-height:1.25}.sources{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:0 auto 2rem;padding:0;list-style:none;display:flex}.source-card{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:12px;align-items:center;gap:.25rem;padding:.7rem 1rem;display:flex}.source-logo{object-fit:contain;border-radius:10px;flex:none;width:44px;height:44px}.source-text{flex-direction:column;line-height:1.35;display:flex}.source-text span{color:var(--muted);font-size:.88rem}.hint{color:var(--muted);margin-top:1rem}.analyzing{text-align:center;max-width:40rem;color:var(--muted);margin:0 auto;padding:8rem 1.25rem}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:0 auto 1.25rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.review{max-width:44rem;margin:0 auto;padding:4.5rem 1.25rem 5rem}.review-bar{justify-content:space-between;align-items:baseline;gap:1rem;min-height:1.4rem;margin-bottom:.5rem;display:flex}.warn{color:var(--red)}.saved{color:var(--green)}.view-margin{margin-left:.5rem;font-weight:600}.muted{color:var(--muted)}.book{margin:2rem 0;scroll-margin-top:4.5rem}.book-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:.85rem;padding-bottom:.5rem;display:flex}.book-meta{min-width:0}.book-meta h2{margin:0;font-size:1.15rem}.title-fresh{color:var(--accent)}.title-present{color:var(--green)}.title-update{color:var(--yellow)}.title-missing-isbn{color:var(--red)}.title-excluded{color:var(--muted)}.book-author{color:var(--muted);margin:.2rem 0 0;font-size:.9rem}.isbn-control{flex:none;padding-top:.1rem}button.book-isbn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}button.book-isbn:hover{color:var(--accent-ink);text-decoration:underline}.isbn-entry{display:inline-flex;position:relative}.isbn-entry input{border-radius:7px;min-width:8.5rem;padding:.38rem 1.9rem .38rem .6rem;font-size:.92rem}.isbn-go{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;padding:.2rem;display:inline-flex;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.isbn-go:disabled{color:var(--muted);opacity:.5;cursor:default}.record{--status-color:var(--accent);grid-template-columns:auto 1fr;align-items:start;gap:.55rem;margin:1.15rem 0;display:grid}.record-gutter{cursor:default;justify-content:center;align-self:stretch;align-items:flex-start;padding-top:.1rem;display:flex}.record-body{border-left:3px solid var(--status-color);min-width:0;padding:.05rem 0 .05rem .9rem}.record-fresh{--status-color:var(--accent)}.record-present{--status-color:var(--green)}.record-update{--status-color:var(--yellow)}.record-missing-isbn{--status-color:var(--red)}.record-excluded{--status-color:var(--border)}.record-excluded .quote,.record-excluded .note{color:var(--muted)}.quote{color:var(--fg);margin:0;font-size:1.05rem;line-height:1.55}.loc{color:var(--muted)}.note{color:var(--fg);gap:.4rem;margin:.45rem 0 0;font-size:1rem;font-style:italic;display:flex}.note-pen{color:var(--muted);flex:none;margin-top:.3rem}.meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.4rem;font-size:.78rem}.status{cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;align-items:center;padding:2px;display:inline-flex;position:relative}.status-present{color:var(--green)}.status-fresh{color:var(--accent)}.status-update{color:var(--yellow)}.status-missing-isbn{color:var(--red)}.status.status-excluded{color:var(--muted)}.status-tip{z-index:30;white-space:nowrap;background:var(--surface);color:var(--fg);border:1px solid var(--border);opacity:0;visibility:hidden;pointer-events:none;border-radius:7px;padding:.3rem .55rem;font-size:.8rem;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 8px 20px #00000024}.status-tip.visible{opacity:1;visibility:visible}.dropzone{z-index:50;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dropzone-frame{border:4px dashed var(--accent);border-radius:22px;justify-content:center;align-items:center;display:flex;position:absolute;inset:14px}.dropzone-frame p{color:var(--accent-ink);font-size:1.4rem;font-weight:600}.error{color:var(--red)}.card{background:var(--card);border-radius:12px;margin:1.5rem 0;padding:1.5rem}.prose{max-width:44rem;margin:0 auto;padding:3rem 1.25rem}.prose h2{margin-top:2rem}.prose pre{color:#f3efe6;background:#1c1d22;border-radius:8px;padding:1rem;overflow-x:auto}.prose pre code{color:inherit;background:0 0}
