:root{--color-bg:#151210;--color-surface:#221e19;--color-surface-sunken:#0f0d0b;--color-surface-raised:#2e2820;--color-text:#f0e9df;--color-text-muted:#a89e90;--color-border:#37312a;--color-border-strong:#847766;--color-accent:#d8a657;--color-accent-hover:#e8bd77;--color-accent-soft:#33291a;--color-danger:#d78a6a;--color-danger-soft:#34211a;--color-focus:#d8a657;--color-positive:#93b083;--color-positive-soft:#1f291c;--progress-waiting:#9a9084;--progress-waiting-soft:#26221c;--progress-waiting-mark:"○";--progress-started:#d8a657;--progress-started-soft:#33291a;--progress-started-mark:"◐";--progress-blocked:#d78a6a;--progress-blocked-soft:#34211a;--progress-blocked-mark:"▲";--progress-flagged:#e0b04a;--progress-flagged-soft:#322815;--progress-flagged-mark:"⚑";--progress-done:#93b083;--progress-done-soft:#1f291c;--progress-done-mark:"●";--progress-skipped:#a2919e;--progress-skipped-soft:#2a2328;--progress-skipped-mark:"—";--book-title-lightness:.82;--shadow-soft:0 1px 2px #0000002e, 0 4px 16px #00000038;--shadow-raised:0 2px 6px #00000042, 0 12px 32px #0000004d;--transition-fast:.12s ease;--transition-normal:.2s ease}@media (prefers-color-scheme:light){:root{--color-bg:#f7f3ec;--color-surface:#fffdf9;--color-surface-sunken:#efe9df;--color-surface-raised:#e8e0d3;--color-text:#2a241d;--color-text-muted:#665d51;--color-border:#e0d8ca;--color-border-strong:#8a7760;--color-accent:#805912;--color-accent-hover:#6f4d10;--color-accent-soft:#f7ecd8;--color-danger:#a4512f;--color-danger-soft:#f9e9e1;--color-focus:#805912;--color-positive:#4a6b3c;--color-positive-soft:#e9f0e2;--progress-waiting:#6b6256;--progress-waiting-soft:#eeeae2;--progress-started:#805912;--progress-started-soft:#f7ecd8;--progress-blocked:#a4512f;--progress-blocked-soft:#f9e9e1;--progress-flagged:#8a6415;--progress-flagged-soft:#f8f0dd;--progress-done:#4a6b3c;--progress-done-soft:#e9f0e2;--progress-skipped:#6b5c68;--progress-skipped-soft:#f0eaee;--book-title-lightness:.42;--shadow-soft:0 1px 2px #4a3a2612, 0 4px 16px #4a3a2617;--shadow-raised:0 2px 6px #4a3a261a, 0 12px 32px #4a3a2624}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:1rem;line-height:1.55}h1,h2,h3{margin:0;font-weight:600;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.125rem}a{color:var(--color-accent);text-underline-offset:2px;text-decoration-thickness:1px}:is(h1,h2,h3,h4)>a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}:is(h1,h2,h3,h4)>a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex-direction:column;gap:1.5rem;width:100%;max-width:60rem;margin:0 auto;padding:1.5rem 1rem 4rem;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.page-header-title{flex-wrap:wrap;align-items:baseline;gap:.75rem;min-width:0;display:flex}.page-header-actions{align-items:center;gap:.25rem;margin-left:auto;display:flex}.page-empty{text-align:center;color:var(--color-text-muted);padding:2.5rem 1rem}.card-grid{--card-min:12rem;grid-template-columns:repeat(auto-fill, minmax(min(var(--card-min), 100%), 1fr));gap:.75rem;display:grid}.split-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.tight-row{align-items:center;gap:.5rem;min-width:0;display:flex}.pair-columns{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=40rem){.pair-columns{grid-template-columns:1fr 1fr}}.fact-list{gap:.75rem;margin:0;display:grid}.fact-list dt{color:var(--color-text-muted);font-size:.875rem}.fact-list dd{margin:0}.push-down{margin-top:auto}.muted{color:var(--color-text-muted)}.quiet-italic{color:var(--color-text-muted);font-style:italic}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stack-column{flex-direction:column;gap:1.5rem;display:flex}.row-actions{gap:.5rem;margin-top:.5rem;display:flex}.flex-text{flex:1;min-width:0}.entry-title{overflow-wrap:anywhere;display:block}.entry-preview{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.875rem;display:block}.where{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem}.panel{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:10px;padding:1.25rem}.panel-stacked{margin-bottom:1.5rem}.panel>h2:first-child,.panel>h3:first-child,.group-heading,.confirm-dialog>h2{margin:0 0 .5rem;font-size:1.125rem}.panel h3:not(:first-child){margin:1.25rem 0 .5rem;font-size:1rem}.panel-blurb{color:var(--color-text-muted);margin:0 0 1rem}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .75rem;font-size:.75rem;font-weight:600}.notice{background:var(--color-surface-sunken);color:var(--color-text-muted);border-radius:10px;margin:0 0 1rem;padding:.75rem 1rem}.notice-count{background:var(--progress-flagged-soft);border-left:3px solid var(--progress-flagged);border-radius:0 10px 10px 0;margin:0 0 1rem;padding:.75rem 1rem;font-size:.9375rem}.bare-list{margin:0;padding:0;list-style:none}.stack-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.btn{min-height:2.75rem;font:inherit;cursor:pointer;color:var(--color-text);transition:background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-primary:disabled{background:var(--color-surface-raised);color:var(--color-text-muted)}.btn-primary{background:var(--color-accent);color:#1c1408;box-shadow:var(--shadow-soft)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-raised)}@media (prefers-color-scheme:light){.btn-primary{color:#fffdf9}}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--color-surface-raised)}.btn-danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft)}.emoji-btn{min-width:2.75rem;min-height:2.75rem;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1.125rem;line-height:1;text-decoration:none;display:inline-flex}.btn-inline{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.btn-inline-danger{color:var(--color-danger)}.select-card{background:var(--color-surface);border:1px solid var(--color-border);text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);border-radius:10px;grid-template-columns:1fr auto;align-items:start;gap:.25rem .625rem;padding:.875rem;display:grid}.select-card:hover{border-color:var(--color-border-strong)}.select-card:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.select-card-name{color:var(--color-accent);font-weight:500}.select-card>.meta{grid-column:1/-1}.dest-grid{--card-min:8rem;grid-template-columns:repeat(auto-fill, minmax(min(var(--card-min), 100%), 1fr));gap:.75rem;display:grid}.dest-tile{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;color:inherit;transition:border-color var(--transition-fast), background-color var(--transition-fast);border-radius:10px;flex-direction:column;align-items:center;gap:.375rem;padding:1rem .75rem;text-decoration:none;display:flex}.dest-tile:hover{border-color:var(--color-border-strong);background:var(--color-surface-raised)}.dest-tile-icon{font-size:1.75rem;line-height:1}.dest-tile-label{font-weight:500}.strip-tab{min-height:2.75rem;font:inherit;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:.375rem;padding:.5rem .875rem;display:inline-flex}.strip-tab:hover{color:var(--color-text)}.strip-tab[aria-current=page],.strip-tab[aria-selected=true]{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:500}.expand-row>summary{cursor:pointer;align-items:center;gap:.75rem;padding:.5rem 0;list-style:none;display:flex}.expand-row>summary::-webkit-details-marker{display:none}.expand-caret{color:var(--color-text-muted);transition:transform var(--transition-fast);flex-shrink:0}.expand-row[open] .expand-caret{transform:rotate(90deg)}.comment-thread{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.comment-thread-heading{color:var(--color-text-muted);margin:0;font-size:.875rem;font-weight:600}.comment,.talk-message{background:var(--color-surface-sunken);border-radius:8px;padding:.75rem}.comment-head,.talk-message-head,.notification-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.comment-author,.talk-message-author{font-size:.875rem;font-weight:500}.comment-body,.talk-message-body,.conflict-side{white-space:pre-wrap;overflow-wrap:anywhere}.comment-body,.talk-message-body{margin:0}.comment[data-resolved=true]{border-left:3px solid var(--color-positive);color:var(--color-text-muted);background:0 0}.talk-log{flex-direction:column;gap:1rem;margin:1rem 0;display:flex}.notification{border-bottom:1px solid var(--color-border);padding:.75rem 0}.notification:last-child{border-bottom:none}.notification-what{font-weight:500}.notification[data-unread=true]{border-left:3px solid var(--progress-started);padding-left:.75rem}[data-progress]{--progress-color:var(--progress-waiting);--progress-ground:var(--progress-waiting-soft);--progress-mark:var(--progress-waiting-mark)}[data-progress=started]{--progress-color:var(--progress-started);--progress-ground:var(--progress-started-soft);--progress-mark:var(--progress-started-mark)}[data-progress=blocked]{--progress-color:var(--progress-blocked);--progress-ground:var(--progress-blocked-soft);--progress-mark:var(--progress-blocked-mark)}[data-progress=flagged]{--progress-color:var(--progress-flagged);--progress-ground:var(--progress-flagged-soft);--progress-mark:var(--progress-flagged-mark)}[data-progress=done]{--progress-color:var(--progress-done);--progress-ground:var(--progress-done-soft);--progress-mark:var(--progress-done-mark)}[data-progress=skipped]{--progress-color:var(--progress-skipped);--progress-ground:var(--progress-skipped-soft);--progress-mark:var(--progress-skipped-mark)}.progress-dot{width:1.25rem;height:1.25rem;color:var(--progress-color);flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;line-height:1;display:inline-flex}.progress-dot:before{content:var(--progress-mark)}.progress-chip{background:var(--progress-ground);border:1px solid var(--progress-color);max-width:100%;color:var(--color-text);border-radius:999px;align-items:center;gap:.375rem;padding:.1875rem .5rem;font-size:.8125rem;display:inline-flex}.progress-chip:before{content:var(--progress-mark);color:var(--progress-color);flex-shrink:0}.progress-column-head{border-bottom:2px solid var(--progress-color);align-items:baseline;gap:.5rem;margin-bottom:.75rem;padding:0 0 .5rem;display:flex}.progress-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.type-mark{background:var(--color-surface-raised);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.875rem;line-height:1;display:inline-flex}.type-grid{--card-min:9rem}.form-group{margin-bottom:1rem;border:0;flex-direction:column;gap:.375rem;min-inline-size:0;margin-inline:0;padding:0;display:flex}.form-label{font-size:.875rem;font-weight:500}.form-input{background:var(--color-bg);min-height:2.75rem;color:var(--color-text);border:1px solid var(--color-border-strong);font:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:8px;padding:.625rem .75rem;font-size:1rem}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent)}.form-input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.form-textarea{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border-strong);resize:vertical;border-radius:8px;padding:.625rem .75rem;font-family:inherit;font-size:1rem}.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent)}.form-textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.form-select{appearance:none;cursor:pointer;background-color:var(--color-bg);min-height:2.75rem;color:var(--color-text);border:1px solid var(--color-border-strong);font:inherit;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:right 1.1rem center,right .75rem center;background-repeat:no-repeat;background-size:.35rem .35rem,.35rem .35rem;border-radius:8px;padding:.625rem 2rem .625rem .75rem;font-size:1rem}.form-select option{background-color:var(--color-surface);color:var(--color-text)}.form-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent)}.form-select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.form-check{flex:none;align-items:center;gap:.5rem;display:flex}input.form-check{width:1rem;height:1rem;accent-color:var(--color-accent);flex:none;margin:0;display:inline-block}.auth-form{max-width:26rem}.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.meta,.form-hint{color:var(--color-text-muted);font-size:.875rem}.form-error{background:var(--color-danger-soft);color:var(--color-danger);border-radius:8px;padding:.75rem 1rem;font-size:.9375rem}.form-error-message{margin:0}.form-error .form-actions{margin-top:.75rem}.confirm-dialog{border:1px solid var(--color-border);background:var(--color-surface);max-width:min(28rem,100vw - 2rem);color:var(--color-text);border-radius:10px;padding:1.25rem}.confirm-dialog::backdrop{background:#0006}.confirm-dialog-message{margin:0}.day-dialog{border:1px solid var(--color-border);background:var(--color-surface);width:min(32rem,100vw - 2rem);max-height:min(40rem,100vh - 4rem);color:var(--color-text);border-radius:10px;flex-direction:column;padding:1.25rem}.day-dialog[open]{display:flex}.day-dialog::backdrop{background:#0006}.day-dialog-add{flex:none}.day-dialog-add h3{margin-top:0}.day-dialog-add .list-add{flex-wrap:wrap}.day-dialog-add .list-add .form-input:last-of-type{flex:10rem}.day-dialog-entries{overscroll-behavior:contain;flex:auto;margin-top:.75rem;overflow-y:auto}@media (width<=30rem){.day-dialog{border:none;border-radius:0;width:100%;max-width:100%;height:100vh;max-height:100vh;margin:0}}.conflict-side{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:8px;padding:.75rem}.body-empty{text-align:center;color:var(--color-text-muted);padding:1.5rem 1rem;font-size:.9375rem}.visually-hidden,.select-card>input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.connection-strip{z-index:5;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;padding:.5rem 1rem;font-size:.875rem;position:sticky;top:0}.skip-link{z-index:10;background:var(--color-surface);border:1px solid var(--color-border-strong);transition:top var(--transition-fast);border-radius:8px;padding:.625rem 1rem;position:absolute;top:-3rem;left:.5rem}.skip-link:focus{top:.5rem}.scroll-strip{overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:.25rem;display:flex;overflow-x:auto}.scroll-strip>*{flex-shrink:0}.book-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;align-items:baseline;gap:.75rem;padding:.875rem 1rem;display:flex}.book-row>:is(h2,h3){font-size:1.0625rem;font-weight:600}.book-flag{border:1px solid var(--color-border-strong);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.book-row-tinted{border-left:6px solid var(--book-colour);background:color-mix(in srgb, var(--book-colour) 22%, var(--color-surface))}.book-chip{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text);font-weight:500}.book-chip:hover{background:var(--color-surface-raised);border-color:var(--color-accent)}.book-chip-tinted{border-left:6px solid var(--book-colour);background:color-mix(in srgb, var(--book-colour) 24%, var(--color-surface))}.book-title-tinted{color:oklch(from var(--book-colour) var(--book-title-lightness) c h)}.colour-swatch-row{gap:.5rem;display:flex}.colour-swatch{border:2px solid var(--color-border-strong);cursor:pointer;border-radius:999px;width:2rem;height:2rem;padding:0}.colour-swatch[aria-pressed=true]{border-color:var(--color-text);border-width:3px}.colour-swatch-none{background:var(--color-surface);justify-content:center;align-items:center;display:flex}.colour-swatch-none svg{width:1rem;height:1rem;stroke:var(--color-text-muted);stroke-width:2px}.colour-swatch-custom{border:2px solid var(--color-border-strong);cursor:pointer;border-radius:999px;width:2rem;height:2rem;padding:0;overflow:hidden}.colour-swatch-custom::-webkit-color-swatch-wrapper{padding:0}.colour-swatch-custom::-webkit-color-swatch{border:none;border-radius:999px}.colour-swatch-custom::-moz-color-swatch{border:none;border-radius:999px}.shelf-archived-label{margin-top:2rem}.book-cover{aspect-ratio:3/4;object-fit:cover;background:var(--color-surface-sunken);border-radius:8px 8px 0 0;width:100%}.chapter{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:10px;margin-bottom:1.5rem;padding:1.25rem 1.25rem 1rem;scroll-margin-top:3.5rem}.chapter-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.875rem;padding-bottom:.5rem;display:flex}.chapter-header>:is(h2,h3){font-size:1.125rem;font-weight:600}.chapter-meta{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.chapter-follow{align-items:baseline;gap:.5rem;margin-bottom:.875rem;display:flex}.chapter-add{margin-bottom:2.5rem}.chapter-status{border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.chapter-retired{opacity:.65}.entry{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;padding:.75rem .875rem}a.entry:hover,a.entry:focus-visible,button.entry:hover,button.entry:focus-visible{border-color:var(--color-border-strong);background:var(--color-surface-raised)}button.entry{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;display:block}.entry-author{color:var(--color-text-muted);flex:none;font-size:.8125rem}.entry-handle{color:var(--color-text-muted);cursor:grab;touch-action:none;flex:none;padding:.25rem}.entry-handle:active{cursor:grabbing}.entry[data-dragging=true]{background:var(--color-surface-raised);border-color:var(--color-border-strong)}.page-body{flex-direction:column;gap:2rem;max-width:65ch;display:flex}.page-body .entry{background:0 0;border:0;padding:0}.page-body .entry :is(h1,h2,h3){margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.page-body .entry>:not(:is(h1,h2,h3)){line-height:1.7}.page-entry-prose{white-space:pre-wrap;overflow-wrap:anywhere}.page-body .entry>*+*{margin-top:1rem}.page-entry{flex-direction:column;gap:.5rem;display:flex}.list-body{flex-direction:column;gap:.375rem;display:flex}.list-row{align-items:center;gap:.625rem;padding:.5rem .75rem;display:flex}.list-row[data-checked=true] .entry-title{color:var(--color-text-muted);text-decoration:line-through}.list-add{gap:.5rem;margin-top:.625rem;display:flex}.rich-list-body{flex-direction:column;gap:.75rem;display:flex}.rich-list-card{padding:.875rem 1rem}.rich-list-card>:first-child{margin-bottom:.375rem;font-weight:600}.rich-list-card>:first-child~*{color:var(--color-text-muted);line-height:1.6}.rich-list-cell{flex-direction:column;gap:.375rem;display:flex}.entry-reorder{flex:none;margin-top:0}.log-body{flex-direction:column;gap:1rem;display:flex}.log-entry{grid-template-columns:7rem 1fr;align-items:start;gap:1rem;display:grid}.log-date{color:var(--color-text-muted);font-variant-numeric:tabular-nums;padding-top:.125rem;font-size:.875rem}@media (width<=30rem){.log-entry{grid-template-columns:1fr;gap:.25rem}}.log-day{z-index:1;background:var(--color-bg);padding:.375rem 0;position:sticky;top:0}.board-body{scrollbar-width:thin;gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.board-column{background:var(--color-surface-sunken);border-radius:8px;flex-direction:column;flex:0 0 17rem;gap:.5rem;padding:.75rem;display:flex}.board-column-body{flex-direction:column;gap:.5rem;min-height:3rem;display:flex}.board-column[data-drop-target=true] .board-column-body{outline:2px dashed var(--color-accent);outline-offset:4px;border-radius:6px}.board-card{cursor:grab;box-shadow:var(--shadow-soft);touch-action:none}.board-card[data-lifted=true]{background:var(--color-surface-raised);border-color:var(--color-accent);box-shadow:var(--shadow-raised)}.calendar-body{border:1px solid var(--color-border);background:var(--color-border);border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.calendar-body[data-week-numbers=true]{grid-template-columns:auto repeat(7,minmax(0,1fr))}.calendar-weekday{background:var(--color-surface-sunken);color:var(--color-text-muted);text-align:center;padding:.5rem .375rem;font-size:.75rem}.calendar-day{color:#2a241d;text-align:left;background:#f7f3ec;flex-direction:column;gap:.25rem;min-height:6rem;padding:.375rem;display:flex}.calendar-day[data-outside=true]{color:#655c50;background:#e9e2d6}.calendar-day>:first-child{font-variant-numeric:tabular-nums;font-size:.8125rem}.calendar-day[data-today=true]>:first-child{color:#805912;font-weight:700;text-decoration:underline}.calendar-day-date{display:none}.calendar-event{color:#2a241d;text-overflow:ellipsis;white-space:nowrap;background:#e4dbc9;border-radius:4px;padding:.125rem .375rem;font-size:.75rem;overflow:hidden}@media (width<=30rem){.calendar-body{background:0 0;border:none;flex-direction:column;gap:.875rem;display:flex;overflow:visible}.calendar-weekday,.calendar-body[data-week-numbers=true] .calendar-week-number{display:none}.calendar-body .calendar-day{min-height:0;color:inherit;background:0 0;flex-direction:column;align-items:stretch;gap:.25rem;padding:0;display:flex}.calendar-body .calendar-day-number{display:none}.calendar-body .calendar-day-date{font-size:.9375rem;font-weight:700;display:block}.calendar-body .calendar-day[data-today=true] .calendar-day-date{color:var(--color-accent);font-weight:700;text-decoration:underline}.calendar-body[data-can-add=true] .calendar-day[data-empty=true][data-today=true] .calendar-day-date{font-weight:400}.calendar-body .calendar-day[data-outside=true]{display:none}.calendar-body[data-can-add=true] .calendar-day[data-empty=true]{margin-bottom:-.625rem}.calendar-body[data-can-add=true] .calendar-day[data-empty=true] .calendar-day-date{color:var(--color-text-muted);font-weight:400}.calendar-body[data-can-add=false] .calendar-day[data-empty=true]{display:none}.calendar-body .calendar-event{background:var(--color-surface-raised);color:var(--color-text);text-overflow:clip;white-space:normal;padding:.25rem .5rem;font-size:.8125rem;overflow:visible}.calendar-body .calendar-day .calendar-event-time{color:var(--color-text-muted)}}.calendar-body-week{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-body-week .calendar-day{min-height:8rem}.calendar-week-number{background:var(--color-surface-sunken);color:var(--color-text-muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:.8125rem;display:flex}.calendar-body-week .calendar-week-number{font-size:2rem;font-weight:700}.calendar-body[data-week-numbers=true] .calendar-week-number{padding:.375rem .5rem}@media (width<=30rem){.calendar-body-week{flex-direction:column;display:flex}.calendar-body-week .calendar-day{flex-direction:row;align-items:baseline;gap:.75rem;min-height:0}.calendar-week-number{justify-content:flex-start;padding:.375rem}}.calendar-event-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-right:.5rem}.calendar-day .calendar-event-time{color:#655c50}.calendar-repeat{opacity:.75;margin-left:.35rem;font-size:.8em}.calendar-occurrence{margin-top:.5rem}.calendar-occurrence p{margin:0 0 .75rem}.calendar-occurrence p:last-of-type{color:var(--color-text-muted)}.calendar-actions{align-items:center;margin-left:auto}.calendar-step{border-radius:.375rem;min-width:2rem;min-height:2rem;font-size:1rem}.calendar-views{align-items:center;gap:.125rem;margin-left:.25rem;display:inline-flex}.calendar-view{opacity:.55;border-radius:.375rem;min-width:2rem;min-height:2rem;font-size:1rem}.calendar-view[aria-pressed=true]{opacity:1;background:var(--color-surface-sunken);box-shadow:inset 0 0 0 2px var(--color-border-strong)}.calendar-view:disabled{cursor:progress}.table-body{border:1px solid var(--color-border);border-radius:8px;overflow-x:auto}.table-grid{border-collapse:collapse;width:100%;font-size:.875rem}.table-grid th,.table-grid td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.5rem .75rem}.table-grid th{background:var(--color-surface-sunken);white-space:nowrap;font-weight:600;position:sticky;top:0}.table-grid tr:last-child td{border-bottom:0}.table-grid td[data-editing=true]{outline:2px solid var(--color-accent);outline-offset:-2px;background:var(--color-accent-soft)}.gallery-grid{--card-min:11rem}.gallery-item{flex-direction:column;padding:0;display:flex;overflow:hidden}.gallery-link{width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none;display:block}.gallery-item .entry-reorder{padding:0 .625rem .625rem}.gallery-thumb{aspect-ratio:1;background:var(--color-surface-sunken);object-fit:cover;border-radius:6px 6px 0 0;width:100%;display:block}.gallery-caption{padding:.5rem .625rem;font-size:.8125rem;line-height:1.4}.gallery-thumb-generic{aspect-ratio:1;background:var(--color-surface-sunken);color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;place-items:center;font-size:.75rem;display:grid}.gallery-drop{border:2px dashed var(--color-border-strong);min-height:8rem;color:var(--color-text-muted);text-align:center;border-radius:8px;place-items:center;padding:1rem;display:grid}.gallery-drop[data-dragover=true]{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-text)}.status-picker{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;border-radius:6px;padding:.25rem .5rem;font-size:.8125rem}.status-flag[aria-pressed=true]{border-color:var(--progress-flagged);color:var(--progress-flagged)}.app-header{border-bottom:1px solid var(--color-border);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--color-accent) 55%, transparent), var(--shadow-soft);background:var(--color-surface-raised);align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.app-header>a:first-child{color:var(--color-text);font-size:1.0625rem;font-weight:700;text-decoration:none}.app-header>:not(:first-child):not(:last-child){min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.app-header>:last-child{flex:none;margin-left:auto;font-size:.875rem}.app-account{align-items:center;gap:.75rem;min-width:0;display:flex}.app-notifications{color:var(--color-text-muted);position:relative}.app-notifications:hover{color:var(--color-text)}.app-unread{background:var(--progress-started);min-width:1.25rem;color:var(--color-surface);text-align:center;border-radius:999px;padding:0 .375rem;font-size:.75rem;font-weight:600;display:inline-block;position:absolute;top:.25rem;right:.25rem}.app-queue{background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;gap:.25rem 1rem;padding:.5rem 1rem;font-size:.875rem;display:flex}@media (width<=30rem){.app-account-name{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;display:inline-block;overflow:hidden}}.app-loading{min-height:40vh;color:var(--color-text-muted);place-items:center;display:grid}.connection-strip-offline{background:var(--progress-blocked-soft);color:var(--progress-blocked)}.connection-strip-queued{background:var(--progress-flagged-soft);color:var(--progress-flagged)}.connection-strip-conflict{background:var(--color-danger-soft);color:var(--color-danger);font-weight:500}.book-tabs{border-bottom:1px solid var(--color-border);align-items:center}.entry-crumb{color:var(--color-text-muted);margin-bottom:1rem;font-size:.875rem}.entry-editor{flex-direction:column;gap:1.25rem;max-width:65ch;display:flex}.entry-body{resize:vertical;min-height:24rem;line-height:1.7}.entry-file-preview{border:1px solid var(--color-border);background:var(--color-surface-sunken);object-fit:contain;border-radius:6px;max-width:100%;max-height:60vh;display:block}.entry-saved{min-height:1.25rem;color:var(--color-text-muted);margin:0;font-size:.8125rem}.entry-verbs{border-top:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:1rem;max-width:65ch;margin-top:2.5rem;padding-top:1.5rem;display:flex}.entry-delete-preview{align-self:stretch}.layout-insert{display:flex}.layout-stack>.chapter{margin-bottom:0}.layout-insert>.btn{color:var(--color-text-muted);border-style:dashed;flex:1;justify-content:center}.layout-add-dialog{overscroll-behavior:contain;border:1px solid var(--color-border);background:var(--color-surface);width:min(28rem,100vw - 2rem);max-height:calc(100vh - 4rem);color:var(--color-text);border-radius:10px;padding:1.25rem;overflow-y:auto}.layout-add-dialog::backdrop{background:#0006}.layout-add-dialog h3{margin-top:0}@media (width<=30rem){.layout-add-dialog{border:none;border-radius:0;width:100%;max-width:100%;height:100vh;max-height:100vh;margin:0}}.layout-reorder{flex:none;gap:.5rem;display:flex}@media (width<=30rem){.chapter-header:has(.layout-reorder){flex-wrap:wrap}}.layout-chapter-actions{flex-wrap:wrap}.layout-rename{align-items:center;gap:.5rem;display:flex}.layout-chapter-row{background:var(--color-surface-sunken);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.625rem;padding:.5rem .625rem;display:flex}.layout-delete-preview{margin-top:.625rem}.preset-empty{border-top:1px solid var(--color-border);margin-top:1.25rem;margin-bottom:1.25rem;padding-top:1.25rem}.hero{text-align:center;max-width:34rem;margin:0 auto;padding:3rem 1.25rem}.hero-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.5rem;font-size:.8rem;font-weight:600}.hero p{color:var(--color-text-muted);margin-top:.75rem;font-size:1.0625rem;line-height:1.6}.hero .form-actions{justify-content:center;margin-top:1.5rem}.hero-shapes{margin-top:1.25rem;font-size:.9375rem;line-height:1.8}.hero-note{margin-top:.25rem;font-size:.875rem}.hero-shapes+.hero-note{margin-top:1.25rem}.landing-type-grid{--card-min:13rem;max-width:56.25rem;margin:0 auto}.landing-type-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.landing-type-card-name{font-weight:500}.invite-panel{max-width:30rem;margin:3rem auto}.invite-panel p{margin-bottom:1.25rem;font-size:1.0625rem;line-height:1.6}.invite-spent{color:var(--color-text-muted)}.person-row{align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.person-row>:first-child{font-weight:600}.person-row>:last-child{text-align:right;margin-left:auto}.shared-books{font-weight:600}.search-controls{flex-wrap:wrap;gap:.625rem;margin-bottom:1.5rem;display:flex}.search-group{margin-bottom:1.5rem}.search-retired-mark{color:var(--color-text-muted);font-size:.75rem}.deletion-preview{flex-direction:column;gap:1.25rem;display:flex}.deletion-list{color:var(--color-text-muted);padding-left:1.125rem}.deletion-confirm{border-top:1px solid var(--color-danger);margin-top:1.5rem;padding-top:1.25rem}.public-shell{max-width:44rem;margin:0 auto;padding:2rem 1.25rem}.public-crumb{margin-bottom:1rem;font-size:.875rem;display:inline-block}.public-entry-body{max-width:65ch;line-height:1.7}.public-entry-body>*+*{margin-top:1rem}.app-shell[data-focus=true] .app-header,.app-shell[data-focus=true] .book-tabs{display:none}.app-shell[data-focus=true] .app-main{max-width:44rem;margin:0 auto}.agenda-days>li+li{margin-top:1.75rem}.agenda-entry{align-items:baseline;gap:.75rem;padding:.4rem 0;display:flex}.agenda-entry+.agenda-entry{border-top:1px solid var(--color-border)}.agenda-time{font-variant-numeric:tabular-nums;color:var(--color-text-muted);flex:0 0 4.5rem;font-size:.8125rem}.agenda-time-all-day{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.agenda-entry-main{flex-direction:column;gap:.125rem;min-width:0;display:flex}@media (width<=30rem){.agenda-entry{flex-direction:column;gap:.125rem}.agenda-time{flex:none}}
