:root{--font-family: "Lexend", system-ui, sans-serif;--color-bg: #faf6ec;--color-surface: #ffffff;--color-surface-muted: #f1e4d3;--color-border: #e4d5bf;--color-border-soft: #f0e6d8;--color-text: #3a2e22;--color-text-soft: #6b5842;--color-text-muted: #8c7a64;--color-text-faint: #a6957f;--color-accent: #c9773f;--color-on-accent: #ffffff;--color-favorite-bg: #fce9d8;--color-favorite-text: #b15a3a;--color-drain-bg: #f5e3e3;--color-drain-text: #a34c4c;--color-highlight: #fcf1e6;--color-input-bg: #fffdf8;--color-input-disabled: #f7f1e6;--color-accent-text: #a85f2c;--color-disabled-icon: #d8c7b0;--color-error-bg: #f8e4e0;--color-error-text: #7e3434;--shadow-popover: 0 10px 28px rgba(58, 46, 34, .18);--shadow-primary: 0 4px 12px rgba(201, 119, 63, .3);--color-cover-1: #b15a3a;--color-cover-2: #8c6b9e;--color-cover-3: #7c8c5e;--color-cover-4: #5e7c94;--shadow-card: 0 1px 3px rgba(58, 46, 34, .08);--shadow-fab: 0 4px 12px rgba(201, 119, 63, .4);--radius-card: 16px;--radius-pill: 16px;--radius-chip: 8px;--radius-cover: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--page-gutter: var(--space-5);--content-max-width: 640px;--motion-fast: .2s ease}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-column{max-width:var(--content-max-width);margin:0 auto;min-height:100vh}.main-header{position:sticky;top:0;z-index:10;background:var(--color-bg);transition:transform var(--motion-fast)}.main-header[data-collapsed=true]{transform:translateY(calc(-1 * var(--title-bar-height, 0px)))}@media(prefers-reduced-motion:reduce){.main-header{transition:none}}.title-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--page-gutter) var(--space-3)}.title-bar h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.2px}.icon-button{width:40px;height:40px;border-radius:20px;border:none;background:var(--color-surface-muted);color:var(--color-text-soft);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.search-row{display:flex;gap:var(--space-2);padding:0 var(--page-gutter) var(--space-3)}.search-field{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);height:40px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted)}.search-field input{flex:1;min-width:0;border:none;background:transparent;color:var(--color-text);font-size:14px;outline:none}.search-field input::placeholder{color:var(--color-text-faint);text-overflow:ellipsis}.search-field input::-webkit-search-cancel-button,.search-field input::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-field__clear{flex-shrink:0;width:24px;height:24px;margin-right:-6px;padding:0;border:none;border-radius:12px;background:var(--color-surface-muted);color:var(--color-text-soft);display:inline-flex;align-items:center;justify-content:center}.search-field:focus-within{border-color:var(--color-accent)}.filters-button{position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-soft);font-size:13px;font-weight:600}.filters-button__badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-accent);color:var(--color-on-accent);font-size:11px;font-weight:700;line-height:18px;text-align:center}.status-tabs{display:flex;gap:6px;padding:0 var(--page-gutter) var(--space-3)}.status-tab{flex:1;min-width:0;padding:8px 4px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-soft);font-size:12px;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-tab[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent);font-weight:700}.status-tab__short{display:none}@media(max-width:400px){:root{--page-gutter: var(--space-4)}.status-tabs{gap:var(--space-1)}.status-tab{padding:8px 2px;font-size:11.5px}}@media(max-width:419px){.status-tab__long{display:none}.status-tab__short{display:inline}}.book-list{display:flex;flex-direction:column;gap:14px;padding:var(--space-1) var(--page-gutter) 100px}.book-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.list-message{margin:var(--space-6) 0;font-size:14px;color:var(--color-text-muted);text-align:center}.list-message p{margin:0 0 var(--space-3)}.button{height:40px;padding:0 var(--space-5);border-radius:20px;border:none;background:var(--color-accent);color:var(--color-on-accent);font-size:14px;font-weight:600}.button--secondary{background:var(--color-surface-muted);color:var(--color-text)}.load-more-sentinel{height:1px}.book-card{display:flex;gap:14px;padding:14px;background:var(--color-surface);border-radius:var(--radius-card);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-card);color:inherit;text-decoration:none}.book-card:active{background:var(--color-bg)}.book-card__cover{width:56px;height:80px;flex-shrink:0;border-radius:var(--radius-cover);background:var(--color-surface-muted);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;letter-spacing:.5px}.book-card__cover[data-tint="1"]{background:var(--color-cover-1);color:var(--color-on-accent)}.book-card__cover[data-tint="2"]{background:var(--color-cover-2);color:var(--color-on-accent)}.book-card__cover[data-tint="3"]{background:var(--color-cover-3);color:var(--color-on-accent)}.book-card__cover[data-tint="4"]{background:var(--color-cover-4);color:var(--color-on-accent)}.book-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.book-card__title-row{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--space-2);row-gap:2px}.book-card__title{margin:0;font-size:16px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.book-card__byline{margin:0;font-size:13px;color:var(--color-text-soft);line-height:1.4}.book-card__series{color:var(--color-text-muted)}.book-card__pills{display:flex;flex-wrap:wrap;gap:6px}.genre-badge,.tag-pill{font-size:11px;font-weight:600;line-height:1;padding:4px 8px;border-radius:var(--radius-chip)}.genre-badge{background:var(--color-surface-muted);color:var(--color-text-soft)}.tag-pill{border:1px solid var(--color-border);color:var(--color-text-muted);font-weight:500}.book-card__date{margin:0;font-size:12px;color:var(--color-text-faint)}.rating-stars{font-size:13px;letter-spacing:1px;white-space:nowrap}.rating-stars__on{color:var(--color-accent)}.rating-stars__off{color:var(--color-border)}.rating-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--radius-chip);white-space:nowrap}.rating-badge--favorite{background:var(--color-favorite-bg);color:var(--color-favorite-text)}.rating-badge--drain{background:var(--color-drain-bg);color:var(--color-drain-text)}.card-skeleton{display:flex;gap:14px;padding:14px;background:var(--color-surface);border-radius:var(--radius-card);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-card)}.card-skeleton__cover{width:56px;height:80px;flex-shrink:0;border-radius:var(--radius-cover);background:var(--color-surface-muted)}.card-skeleton__lines{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding-top:2px}.card-skeleton__line{height:12px;border-radius:6px;background:var(--color-surface-muted)}.fab{position:fixed;bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));right:max(var(--page-gutter),calc((100vw - var(--content-max-width)) / 2 + var(--page-gutter)));z-index:20;width:56px;height:56px;border-radius:28px;background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-fab);display:flex;align-items:center;justify-content:center}.page-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--page-gutter) var(--space-4)}.page-header h1{margin:0;font-size:22px;font-weight:700}.page-body{padding:0 var(--page-gutter) var(--space-6)}.stub-note{margin:0 0 var(--space-4);padding:14px;border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border-soft);color:var(--color-text-muted);font-size:14px}.button:disabled{opacity:.5;cursor:default}.list-message__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.text-button{border:none;background:none;padding:0;color:var(--color-accent);font-weight:600;text-decoration:underline}.icon-button--small{width:32px;height:32px;border-radius:16px}.active-filters{display:flex;gap:6px;margin:0;padding:0 var(--page-gutter) var(--space-3);list-style:none;overflow-x:auto;scrollbar-width:none}.active-filters::-webkit-scrollbar{display:none}.active-filter{display:inline-flex;align-items:center;gap:6px;height:28px;max-width:240px;padding:0 10px 0 12px;border-radius:var(--radius-pill);border:1px solid var(--color-accent);background:var(--color-favorite-bg);color:var(--color-favorite-text);font-size:12px;font-weight:600;white-space:nowrap}.active-filter__label{overflow:hidden;text-overflow:ellipsis}html.dialog-open{overflow:hidden}.sheet{position:fixed;inset:auto 0 0;width:100%;max-width:var(--content-max-width);max-height:88vh;max-height:88dvh;margin:0 auto;padding:0;border:none;border-radius:20px 20px 0 0;background:var(--color-bg);color:var(--color-text);box-shadow:0 -4px 24px #3a2e222e}.sheet[open]{display:flex;animation:sheet-in var(--motion-fast)}.sheet::backdrop{background:#3a2e2266}@keyframes sheet-in{0%{transform:translateY(40px);opacity:0}}@media(prefers-reduced-motion:reduce){.sheet[open]{animation:none}}.sheet__panel{display:flex;flex-direction:column;width:100%;min-height:0}.sheet__header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--page-gutter) var(--space-2)}.sheet__header h2{margin:0;font-size:18px;font-weight:700}.sheet__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--page-gutter)}.sheet__footer{display:flex;gap:var(--space-2);padding:var(--space-3) var(--page-gutter) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border-soft)}.sheet__show{flex:1}.sheet-section{margin:0;padding:var(--space-3) 0 var(--space-4);border:none;border-bottom:1px solid var(--color-border-soft);min-width:0}.sheet-section:last-child{border-bottom:none}.sheet-section__title{padding:0;margin-bottom:var(--space-2);font-size:14px;font-weight:700}.sheet-section__hint{font-weight:500;color:var(--color-text-muted)}.sheet-section__help,.sheet-section__empty{margin:var(--space-2) 0 0;font-size:12px;color:var(--color-text-muted)}.sheet-section__help--warn{color:var(--color-drain-text)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chips--scroll{max-height:168px;overflow-y:auto;overscroll-behavior:contain;margin-top:var(--space-2)}.filter-chip{min-height:32px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-soft);font-size:13px;font-weight:500}.filter-chip[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.search-field--compact{height:36px}.segmented{display:flex;margin-top:var(--space-2);padding:3px;border-radius:var(--radius-pill);background:var(--color-surface-muted)}.segmented__option{flex:1;height:30px;border:none;border-radius:13px;background:transparent;color:var(--color-text-soft);font-size:13px;font-weight:600}.segmented__option[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-card)}.date-range{display:flex;gap:var(--space-2)}.date-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1);font-size:12px;color:var(--color-text-muted)}.date-field input,.select-field select{width:100%;height:40px;padding:0 var(--space-3);border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:14px}.select-field{display:block}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none}.button--small{height:36px;padding:0 14px;font-size:13px;font-weight:700;border-radius:18px}.button--outline{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-soft)}.button--danger{background:var(--color-drain-text);color:var(--color-on-accent)}.button--link{height:48px;padding:0 22px;border-radius:24px;font-size:15px;font-weight:700}.pill-button{height:40px;padding:0 var(--space-4);border-radius:20px;background:var(--color-surface-muted);color:var(--color-text-soft);display:inline-flex;align-items:center;gap:var(--space-2);font-size:14px;font-weight:600;text-decoration:none}.danger-text-button{height:44px;padding:0 18px;border:none;border-radius:22px;background:transparent;color:var(--color-drain-text);display:inline-flex;align-items:center;gap:var(--space-2);font-size:14px;font-weight:600}.form-field{display:flex;flex-direction:column;gap:6px}.form-field__label{font-size:13px;font-weight:600;color:var(--color-text-soft)}.form-field input{height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:15px}.form-field input:focus{outline:none;border:2px solid var(--color-accent);padding:0 13px}input[type=date]{display:block;width:100%;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left}input[type=date]::-webkit-date-and-time-value{text-align:left}.form-field__help{font-size:12px;color:var(--color-text-muted)}.form-error{margin:0;font-size:13px;color:var(--color-drain-text)}.detail-top-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-3) var(--space-2)}.detail-top-bar__back{width:44px;height:44px;border:none;border-radius:22px;background:transparent;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center}.detail{padding-bottom:var(--space-6)}.detail-hero{display:flex;gap:18px;padding:var(--space-2) var(--page-gutter) var(--space-5)}.detail-hero__cover{width:96px;height:140px;border-radius:10px;font-size:28px;box-shadow:0 4px 12px #3a2e222e}.detail-hero__text{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.detail-hero__text h1{margin:0;font-size:24px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.detail-hero__rating.rating-stars{font-size:16px}.detail-hero__authors,.detail-hero__series{margin:0;font-size:14px;color:var(--color-text-soft)}.detail-hero__series{color:var(--color-text-muted)}.detail-hero__genre{margin-top:6px}.detail-hero__genre .genre-badge,.detail-tags .tag-pill{font-size:12px;padding:4px 10px;border-radius:10px}.detail-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 var(--page-gutter) var(--space-5)}.detail-status{padding:0 var(--page-gutter) var(--space-6);display:flex;flex-direction:column;gap:6px}.status-select{position:relative;color:var(--color-text-soft)}.status-select select{width:100%;height:48px;padding:0 44px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-text);font-size:15px;font-weight:600;text-align:center;text-align-last:center;-moz-appearance:none;appearance:none;-webkit-appearance:none}.status-select select:disabled{opacity:.6}.status-select svg{position:absolute;right:16px;top:15px;pointer-events:none}.detail-card{margin:0 var(--page-gutter) var(--space-5);padding:var(--space-4) 18px;background:var(--color-surface);border-radius:var(--radius-card);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-card)}.detail-card h2{margin:0 0 var(--space-3);font-size:16px;font-weight:700}.detail-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.detail-card__header h2{margin:0}.detail-review{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.detail-action-error{margin:0 var(--page-gutter) var(--space-3)}.history-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3) 0 var(--space-1);text-align:center}.history-empty p{margin:0;font-size:14px;color:var(--color-text-soft)}.history-table{width:calc(100% + 16px);margin:0 -8px;border-collapse:collapse}.history-table th{padding:0 8px 8px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-muted)}.history-table th:last-child{width:80px}.history-table td{padding:8px;border-top:1px solid var(--color-border-soft);font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}.history-table td:last-child{padding:0 4px 0 0}.history-table__open{background:var(--color-highlight)}.history-table__reading{color:var(--color-favorite-text);font-weight:600}.history-table__none{color:var(--color-text-faint)}.history-table__actions{display:flex;justify-content:flex-end}.row-icon-button{flex-shrink:0;width:36px;height:40px;padding:0;border:none;background:transparent;color:var(--color-text-soft);display:inline-flex;align-items:center;justify-content:center}.detail-list{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px;column-gap:var(--space-4)}.detail-list__wide{grid-column:span 2}.detail-list dt{font-size:12px;color:var(--color-text-muted)}.detail-list dd{margin:2px 0 0;font-size:14px;font-weight:500;overflow-wrap:anywhere}.detail-delete{display:flex;justify-content:center;padding:var(--space-2) var(--page-gutter) var(--space-6)}.detail-missing{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:15vh 40px 0;text-align:center}.detail-missing__icon{width:96px;height:96px;border-radius:48px;background:var(--color-surface-muted);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center}.detail-missing h1{margin:0;font-size:22px;font-weight:700}.detail-missing p{margin:0;font-size:14px;line-height:1.55;color:var(--color-text-soft)}.sheet__handle{align-self:center;width:40px;height:4px;margin-top:var(--space-3);border-radius:2px;background:var(--color-border)}.session-form__fields{display:flex;flex-direction:column;gap:18px;padding-top:var(--space-2);padding-bottom:var(--space-4)}.session-form__note{margin:0;padding:var(--space-3) 14px;border-radius:12px;background:var(--color-highlight);font-size:13px;line-height:1.5;color:var(--color-text-soft)}.session-form__note strong{color:var(--color-favorite-text)}.session-form .sheet__footer .button{flex:1;height:48px;border-radius:24px;font-size:15px}.confirm-dialog{width:calc(100% - 48px);max-width:360px;padding:0;border:none;border-radius:20px;background:var(--color-surface);color:var(--color-text);box-shadow:0 8px 28px #3a2e2240}.confirm-dialog::backdrop{background:#3a2e2273}.confirm-dialog__panel{display:flex;flex-direction:column;gap:14px;padding:var(--space-6) 22px var(--space-5)}.confirm-dialog__icon{align-self:center;width:48px;height:48px;border-radius:24px;display:flex;align-items:center;justify-content:center}.confirm-dialog h2{margin:0;font-size:20px;font-weight:700;overflow-wrap:anywhere}.confirm-dialog__body p{margin:0;font-size:14px;line-height:1.55}.confirm-dialog__actions{display:flex;gap:10px;margin-top:6px}.confirm-dialog__actions .button{flex:1;min-width:0;height:48px;padding:0 var(--space-3);border-radius:24px;font-size:15px;white-space:nowrap}.confirm-dialog__icon--danger{background:var(--color-drain-bg);color:var(--color-drain-text)}.confirm-dialog__icon--accent{background:var(--color-highlight);color:var(--color-favorite-text)}.button--text{background:transparent;color:var(--color-text-soft)}.review-card__header{min-height:40px;margin-top:-8px;margin-bottom:var(--space-1)}.review-card__header .row-icon-button{margin-right:-4px}.review-card__empty{margin:0;font-size:14px;color:var(--color-text-muted)}.review-card__editor{display:block;width:100%;min-height:calc(8em + 22px);max-height:60vh;padding:10px 12px;border-radius:12px;border:1px solid var(--color-accent);box-shadow:0 0 0 .5px var(--color-accent);background:var(--color-surface);color:var(--color-text);font-size:14px;line-height:1.6;resize:none;overflow-y:auto}.review-card__editor:focus{outline:none;box-shadow:0 0 0 .5px var(--color-accent),0 0 0 3.5px var(--color-highlight)}.review-card__error{margin-top:var(--space-2)}.review-card__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.bf-top-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--page-gutter) var(--space-3) var(--space-2);background:var(--color-bg)}.bf-top-bar h1{flex:1;margin:0;font-size:20px;font-weight:700}.bf-top-bar__close{width:44px;height:44px;border:none;border-radius:22px;background:transparent;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center}.bf-save-small{height:40px;padding:0 var(--space-5);border:none;border-radius:20px;background:var(--color-accent);color:var(--color-on-accent);font-size:14px;font-weight:700}.bf-save-small:disabled,.bf-primary:disabled{opacity:.6}.book-form{padding-bottom:var(--space-6)}.bf-banner{display:flex;align-items:center;gap:10px;margin:0 var(--page-gutter) var(--space-4);padding:var(--space-3) 14px;border-radius:14px;background:var(--color-error-bg);color:var(--color-error-text);font-size:14px;font-weight:500;line-height:1.4}.bf-banner svg{flex-shrink:0}.bf-card{display:flex;flex-direction:column;gap:var(--space-4);margin:0 var(--page-gutter) var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.bf-card h2{margin:0;font-size:16px;font-weight:700}.bf-field{display:flex;flex-direction:column;gap:6px;min-width:0}.bf-label{font-size:13px;font-weight:600;color:var(--color-text-soft)}.bf-req{color:var(--color-favorite-text)}.bf-input{width:100%;height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);font-size:15px}.bf-input::placeholder{color:var(--color-text-muted)}.bf-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.bf-input[aria-invalid=true]{border-color:var(--color-drain-text);box-shadow:0 0 0 1px var(--color-drain-text)}.bf-input:disabled{background:var(--color-input-disabled);color:var(--color-text-muted)}.bf-textarea{height:auto;min-height:112px;max-height:320px;padding:var(--space-3) 14px;line-height:1.5;resize:none;field-sizing:content}.bf-hint{margin:0;font-size:12px;line-height:1.5;color:var(--color-text-muted)}.bf-hint--tight{margin-top:-6px}.bf-note{display:flex;align-items:flex-start;gap:var(--space-2)}.bf-note svg{flex-shrink:0;margin-top:1px}.bf-error{margin:0;display:flex;align-items:flex-start;gap:6px;font-size:13px;font-weight:500;line-height:1.4;color:var(--color-drain-text)}.bf-error svg{flex-shrink:0;margin-top:1px}.bf-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.bf-row--series{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.bf-select{position:relative;color:var(--color-text-soft)}.bf-select select{padding-right:40px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.bf-select--strong select{font-weight:600}.bf-select svg{position:absolute;right:14px;top:15px;pointer-events:none}.bf-actions{padding:var(--space-2) var(--page-gutter) var(--space-6)}.bf-primary{width:100%;height:52px;border:none;border-radius:26px;background:var(--color-accent);color:var(--color-on-accent);font-size:16px;font-weight:700;box-shadow:var(--shadow-primary)}.author-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.author-row{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border-radius:12px;border:1px solid var(--color-border);background:var(--color-input-bg)}.author-row__num{flex-shrink:0;width:24px;height:24px;border-radius:12px;background:var(--color-surface-muted);color:var(--color-text-soft);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.author-row__name{flex:1;min-width:0;padding-left:var(--space-2);font-size:15px;font-weight:500;overflow-wrap:anywhere}.author-row__button{flex-shrink:0;width:40px;height:40px;padding:0;border:none;border-radius:20px;background:transparent;color:var(--color-text-soft);display:inline-flex;align-items:center;justify-content:center}.author-row__button:disabled{color:var(--color-disabled-icon);cursor:default}.author-list__empty{padding:14px;border-radius:12px;border:1px solid var(--color-drain-text);box-shadow:0 0 0 1px var(--color-drain-text);background:var(--color-input-bg);font-size:14px;color:var(--color-text-muted)}.dashed-button{align-self:flex-start;height:44px;padding:0 var(--space-4);border-radius:22px;border:1px dashed var(--color-accent);background:transparent;color:var(--color-accent-text);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.tag-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag-chip{display:inline-flex;align-items:center;gap:2px;min-height:36px;padding:0 var(--space-1) 0 var(--space-3);border-radius:18px;border:1px solid var(--color-border);background:var(--color-surface);font-size:13px;font-weight:500;color:var(--color-text-soft)}.tag-chip button{width:32px;height:32px;padding:0;border:none;border-radius:16px;background:transparent;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center}.combobox{position:relative;scroll-margin-top:84px}.combobox__icon{position:absolute;left:14px;top:15px;display:flex;color:var(--color-text-muted);pointer-events:none}.combobox__input.bf-input{padding-left:42px}.combobox--cancelable .combobox__input.bf-input{padding-right:48px}.combobox__cancel{position:absolute;right:4px;top:4px;width:40px;height:40px;padding:0;border:none;border-radius:20px;background:transparent;color:var(--color-text-soft);display:inline-flex;align-items:center;justify-content:center}.combobox__list{position:absolute;left:0;top:54px;z-index:5;width:var(--combobox-list-width, 100%);max-height:340px;overflow-y:auto;margin:0;padding:6px 0;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-popover)}.combobox__option{min-height:46px;padding:6px 14px;display:flex;flex-direction:column;justify-content:center;cursor:pointer}.combobox__option[aria-selected=true]{background:var(--color-highlight)}.combobox__label{font-size:15px;font-weight:500;color:var(--color-text);overflow-wrap:anywhere}.combobox__label b{font-weight:700}.combobox__detail{font-size:12px;color:var(--color-text-muted)}.combobox__option--create{flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-2);min-height:50px;margin-top:6px;border-top:1px solid var(--color-border-soft);font-size:15px;font-weight:600;color:var(--color-accent-text);overflow-wrap:anywhere}.combobox__option--create:first-child{margin-top:0;border-top:none}.combobox__option--create svg{flex-shrink:0}.create-sheet__body{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2);padding-bottom:calc(28px + env(safe-area-inset-bottom))}.create-sheet .bf-input{background:var(--color-surface)}.create-sheet__submit{height:48px;font-size:15px}.create-sheet__footnote{text-align:center}
