:root{color-scheme:light;--bg: #dfe3dc;--bg-deep: #cfd6cc;--surface: #f4f5f1;--surface-raised: #fbfbf8;--ink: #1a1d18;--ink-soft: #4a5248;--muted: #6b7468;--line: #b7c0b4;--line-strong: #8a9586;--signal: #b42318;--signal-soft: #f3e0dc;--accent: #1f4a3a;--accent-soft: #d7e4dd;--warn-bg: #f7ebe4;--warn-ink: #7a2e22;--cover-fallback: #2a322c;--code-bg: #222822;--hl-keyword: #f0b2a8;--hl-string: #d7c28a;--hl-number: #9fd0b8;--hl-comment: #9aa494;--hl-title: #cfe6db;--paper-rule: rgba(26, 29, 24, .035);--wash: rgba(31, 74, 58, .06);--shade: rgba(26, 29, 24, .08);--shade-strong: rgba(26, 29, 24, .1);--shadow: 0 1px 0 rgba(26, 29, 24, .04), 0 12px 28px var(--shade);--radius: 4px;--radius-lg: 8px;--pad: 1rem;--gap: .85rem;--measure: 68rem;--font-display: "Noto Serif SC", "Songti SC", "SimSun", serif;--font-body: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "IBM Plex Mono", "Cascadia Code", ui-monospace, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2.5rem;--ease: .16s ease;font-family:var(--font-body);color:var(--ink);background:var(--bg)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:clip}body{background:linear-gradient(90deg,var(--bg-deep) 0,var(--bg-deep) .55rem,transparent .55rem),radial-gradient(120% 80% at 100% 0%,var(--wash),transparent 42%),var(--bg)}a{color:var(--accent)}a:hover{color:var(--signal)}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:0;overflow-wrap:break-word;min-width:0;color:var(--ink)}h1{font-size:clamp(1.9rem,3.2vw,2.75rem);line-height:1.2;margin:0 0 var(--space-3)}h2{font-size:1.25rem;margin:0 0 var(--space-2)}p{line-height:1.7;margin:0 0 var(--space-3)}.shell{min-height:100vh;position:relative}.shell-content{position:relative;z-index:1}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.55;background:repeating-linear-gradient(0deg,transparent,transparent 31px,var(--paper-rule) 31px,var(--paper-rule) 32px);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 78%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 78%)}.aurora span{display:none}.page{width:min(var(--measure),calc(100% - 2rem));margin:0 auto;padding:var(--space-5) 0 var(--space-6)}.topbar,.section-head,.modal-head,.modal-foot,.top-actions{display:flex;justify-content:space-between;gap:var(--gap);align-items:center}.kicker{margin:0 0 var(--space-1);color:var(--muted);font-family:var(--font-body);font-size:.875rem;letter-spacing:0;text-transform:none}.lead,.meta,.muted,.status{color:var(--ink-soft)}.title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem .85rem}.title-row h1,.title-row .lead{margin:0}.meta-list{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);padding:0;list-style:none;color:var(--ink-soft)}.meta-list li{margin:0}.warning{color:var(--warn-ink);background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--signal) 28%,white);border-radius:var(--radius);padding:.7rem .9rem}.prose{white-space:pre-wrap}.button,.text-button,.editor-toolbar button,.search-results button{border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);border-radius:var(--radius);padding:.55rem .95rem;cursor:pointer;text-decoration:none;transition:background-color var(--ease),border-color var(--ease),color var(--ease),opacity var(--ease)}.button:hover,.text-button:hover,.editor-toolbar button:hover{border-color:var(--accent);background:var(--accent-soft)}.button.accent,.editor-toolbar .cite{background:var(--signal);color:var(--surface-raised);border-color:var(--signal);font-weight:600}.button.accent:hover,.editor-toolbar .cite:hover{background:color-mix(in srgb,var(--signal) 88%,black);border-color:color-mix(in srgb,var(--signal) 88%,black);color:var(--surface-raised)}.button.danger{border-color:color-mix(in srgb,var(--signal) 55%,var(--line));color:var(--signal);background:var(--signal-soft)}.text-button{background:transparent;border-color:transparent;padding-inline:.35rem}.button:disabled{opacity:.6;cursor:wait}.button:focus-visible,.text-button:focus-visible,.editor-toolbar button:focus-visible,.search-results button:focus-visible,.status-tabs button:focus-visible,.chip:focus-visible,.rating-stars button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.timeline{list-style:none;margin:var(--space-5) 0 0;padding:0;display:grid;gap:var(--space-3)}.tl-item{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:var(--gap);align-items:start}.tl-date span{display:block;color:var(--muted);font-size:.82rem}.tl-date strong{color:var(--accent);font-family:var(--font-display);font-weight:600}.tl-rail{display:none}.tl-card,.search-results button,.hero,.editor,.search-panel,.install-hint,.gate,.modal,.filters,.stats-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.tl-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:var(--gap);padding:.85rem;color:inherit;text-decoration:none;transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease)}.tl-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 30px var(--shade-strong)}.tl-card img,.cover-fallback,.search-results img,.hero-cover{width:92px;height:132px;object-fit:cover;border-radius:var(--radius);background:var(--cover-fallback);transition:opacity var(--ease)}.cover-fallback{display:grid;place-items:center;color:var(--surface-raised);font-family:var(--font-display);font-size:2rem}.tl-card h2{margin:.1rem 0;font-size:1.3rem}.tl-card p{margin:.15rem 0}.empty,.status{padding:var(--space-5) 0}.install-hint{display:flex;justify-content:space-between;align-items:center;gap:var(--gap);padding:.8rem 1rem;margin-top:var(--space-4)}.hero{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1.4rem;padding:1.2rem;margin-top:var(--space-4)}.hero-cover,.hero .cover-fallback{width:180px;height:256px}.search-panel,.notes-section{margin-top:1.2rem}.search-panel{padding:var(--pad)}.search-bar,.field-grid{display:grid;gap:var(--gap)}.search-bar{grid-template-columns:minmax(0,1fr) auto;align-items:end}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.6rem}.field-grid .wide{grid-column:1 / -1}label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.92rem}input,textarea,select{width:100%;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-raised);padding:.7rem .8rem;outline:none;transition:border-color var(--ease),box-shadow var(--ease)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.filters,.stats-panel{margin-top:var(--space-4);padding:var(--pad)}.filters{display:grid;gap:var(--gap)}.filter-search-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap)}.filter-search-row .search-input{flex:0 0 calc(50% - (var(--gap) / 2));width:calc(50% - (var(--gap) / 2));max-width:calc(50% - (var(--gap) / 2));margin:0}.search-field{display:grid;gap:.35rem;color:var(--ink-soft)}.status-tabs{display:flex;flex-wrap:wrap;gap:.4rem;flex:1 1 auto;min-width:0}.status-tabs button,.chip{border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);border-radius:var(--radius);padding:.4rem .75rem;cursor:pointer;transition:background-color var(--ease),border-color var(--ease),color var(--ease)}.status-tabs button.on,.chip.on{background:var(--accent);color:var(--surface-raised);border-color:var(--accent);font-weight:600}.tag-row{display:flex;flex-wrap:wrap;gap:.45rem}.chip em{margin-left:.35rem;color:inherit;opacity:.8;font-style:normal}.chip.quiet{pointer-events:none;padding:.15rem .55rem;font-size:.82rem;background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent)}.card-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.45rem}.status-pill{display:inline-flex;align-items:center;border-radius:var(--radius);padding:.15rem .55rem;font-size:.8rem;border:1px solid var(--line-strong);color:var(--ink-soft);background:var(--surface-raised)}.status-pill.reading{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--accent-soft)}.status-pill.finished{color:var(--signal);border-color:color-mix(in srgb,var(--signal) 35%,var(--line));background:var(--signal-soft)}.status-pill.abandoned{color:var(--muted);border-color:var(--line)}.rating-stars{display:inline-flex;gap:.1rem}.rating-stars button{border:0;background:transparent;color:color-mix(in srgb,var(--signal) 22%,var(--line));padding:0;cursor:default;font-size:1.05rem;line-height:1;transition:color var(--ease),transform var(--ease)}.rating-stars.sm button{font-size:.95rem}.rating-stars button.on{color:var(--signal)}.rating-stars.editable button{cursor:pointer}.rating-stars.editable button:hover{transform:scale(1.08)}.stats-summary{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:end;justify-content:space-between}.stats-summary div{display:grid;gap:.15rem}.stats-summary span{color:var(--muted);font-size:.85rem}.stats-summary .stat-value{display:flex;align-items:baseline;gap:.3rem;margin:0}.stats-summary strong{font-family:var(--font-display);font-size:1.8rem;color:var(--ink);line-height:1}.stats-summary em{color:var(--accent);font-style:normal}.year-bars,.month-list{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.45rem}.year-bars li,.month-list li{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;gap:.55rem;align-items:center}.year-bars i{display:block;height:.45rem;border-radius:999px;background:var(--accent)}.year-bars em,.month-list span{color:var(--muted);font-style:normal;font-size:.9rem}.notes-section+.notes-section{margin-top:var(--space-4)}.quotes-section textarea,.quotes-section .markdown-body{min-height:220px}.search-results{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;gap:.7rem}.search-results button{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr);gap:.8rem;text-align:left;border-radius:var(--radius-lg);padding:.55rem;box-shadow:none}.search-results img,.search-results .cover-fallback{width:64px;height:92px}.search-results em,.search-results small{display:block;color:var(--muted);font-style:normal}.editor{padding:.8rem}.editor-toolbar{display:flex;flex-wrap:wrap;gap:.4rem}.editor-toolbar button{padding:.35rem .7rem}.inline-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.inline-form input{width:min(280px,100%)}.editor.edit-only textarea{margin-top:.8rem;min-height:320px;resize:vertical;width:100%}.editor.view-only .markdown-body{margin-top:0}textarea{min-height:320px;resize:vertical}.markdown-body{min-height:180px;padding:.8rem 1rem;border-radius:var(--radius);background:var(--surface-raised);border:1px solid var(--line);overflow:auto}.markdown-body :is(h1,h2,h3){margin-top:.8rem}.markdown-body pre{overflow:auto;padding:.8rem;border-radius:var(--radius);background:var(--code-bg);color:var(--surface-raised)}.markdown-body code{color:var(--signal);font-family:var(--font-mono)}.markdown-body pre code{color:var(--surface-raised)}.markdown-body blockquote{margin:.8rem 0;padding:.2rem 0 .2rem .9rem;border-left:3px solid var(--signal);color:var(--ink-soft)}.markdown-body table{width:100%;border-collapse:collapse}.markdown-body th,.markdown-body td{border:1px solid var(--line);padding:.4rem .5rem}.markdown-body a{color:var(--accent)}.markdown-body img{max-width:100%;border-radius:var(--radius)}.markdown-body input[type=checkbox]{width:auto;accent-color:var(--accent);pointer-events:none}.hljs{background:transparent;color:var(--surface-raised)}.hljs-keyword,.hljs-selector-tag{color:var(--hl-keyword)}.hljs-string,.hljs-attr{color:var(--hl-string)}.hljs-number,.hljs-literal{color:var(--hl-number)}.hljs-comment{color:var(--hl-comment)}.hljs-title,.hljs-function{color:var(--hl-title)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;background:color-mix(in srgb,var(--ink) 42%,transparent);display:grid;place-items:center;padding:var(--space-4)}.modal{width:min(920px,100%);max-height:min(86vh,900px);overflow:auto;padding:1rem 1.1rem 1.2rem;background:var(--surface-raised)}.note-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.note-list{display:grid;gap:.6rem}.note-card{border:1px solid var(--line);border-radius:var(--radius);padding:.7rem;background:var(--surface)}.note-card.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.note-card label{grid-template-columns:auto 1fr;align-items:start;color:var(--ink)}.note-card input{width:auto;margin-top:.3rem;accent-color:var(--accent)}.note-card small,.note-card em{display:block;color:var(--muted);font-style:normal}.note-card p{margin:.35rem 0;white-space:pre-wrap}.soft-errors{color:var(--muted)}.gate{max-width:420px;margin-top:12vh;padding:1.4rem;display:grid;gap:.8rem;background:var(--surface-raised)}@media(max-width:800px){.tl-item,.hero,.note-groups,.search-bar,.field-grid{grid-template-columns:minmax(0,1fr)}.hero-cover,.hero .cover-fallback{width:140px;height:200px}.topbar{align-items:flex-start;flex-direction:column}.filter-search-row .search-input{flex-basis:100%;width:100%;max-width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
