.import-alert{border:1px solid var(--danger-line);border-radius:var(--radius);color:var(--danger);background:var(--danger-surface);justify-content:space-between;align-items:center;gap:18px;margin:18px 0 4px;padding:12px 14px;font-size:.94rem;display:flex}@media (hover:hover) and (pointer:fine){.import-alert button:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}}.import-confirmation{border:1px solid var(--success-line);border-radius:var(--radius);color:var(--success);background:var(--success-surface);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:18px 0 4px;padding:12px 14px;font-size:.94rem;display:grid}.import-confirmation.archive-confirmation{grid-template-columns:auto minmax(0,1fr) auto auto auto}.import-confirmation a,.archive-confirmation-undo{border:1px solid var(--success-line);border-radius:var(--radius);min-width:max-content;color:inherit;padding:7px 11px;font-size:.88rem;font-weight:700;text-decoration:none}.archive-confirmation-undo{cursor:pointer;background:0 0}@media (width<=35em){.import-confirmation.archive-confirmation{grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"icon text text close"".view undo.";justify-items:start}.archive-confirmation>svg{grid-area:icon}.archive-confirmation>span{grid-area:text}.archive-confirmation>a{grid-area:view}.archive-confirmation>.archive-confirmation-undo{grid-area:undo}.archive-confirmation>.close-button{grid-area:close}}@media (hover:hover) and (pointer:fine){.import-confirmation a:hover,.import-confirmation button:hover{background:color-mix(in srgb, var(--success) 10%, transparent)}}.app-shell{min-height:100vh}@supports (min-height:100dvh){.app-shell{min-height:100dvh}}.navigation-progress{z-index:100;inset:env(safe-area-inset-top,0px) 0 auto;background:var(--accent-color);pointer-events:none;transform-origin:0;height:3px;animation:navigation-progress 4s var(--ease-out) .12s both;position:fixed;transform:scaleX(.8)}@keyframes navigation-progress{0%{transform:scaleX(0)}}.site-header{width:var(--page-width);justify-content:space-between;align-items:center;min-height:70px;margin-inline:auto;padding:12px 0 6px;display:flex}.site-header-actions{align-items:center;gap:14px;display:flex}@media (width<=35em){.site-header-actions{gap:8px}.brand span{display:none}}@media (width<=23.75em){.site-header-actions{gap:6px}}.header-icon-button{border:1px solid var(--line);background:var(--paper);width:42px;height:42px;color:var(--accent-dark);cursor:pointer;border-radius:50%;flex:0 0 42px;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.header-icon-button:hover{border-color:var(--accent-soft);background:var(--accent-wash)}}.account-menu-shell{position:relative}.account-menu{cursor:pointer;background:0 0;justify-self:end;align-items:center;gap:10px;padding:6px 0;font-size:1rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.account-menu:hover{color:var(--accent-dark)}}.account-avatar{border:1px solid color-mix(in srgb, var(--accent-deep) 25%, transparent);background:var(--accent-pale);width:42px;height:42px;color:var(--accent-dark);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.12rem;display:grid}.account-chevron{transition:transform .16s var(--ease-out);margin-inline-end:8px}.account-menu-open .account-chevron{transform:rotate(180deg)}.account-popover{z-index:20;visibility:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:max-content;min-width:196px;max-width:min(300px,100vw - 24px);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transform-origin:100% 0;transition:opacity .15s var(--ease-out), transform .18s var(--ease-out), visibility 0s linear .18s;padding:7px;display:grid;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-7px)scale(.98)}.account-popover-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.account-popover a,.account-popover button{border-radius:var(--radius);min-height:42px;color:var(--ink);align-items:center;gap:10px;padding:0 11px;font-size:.92rem;text-decoration:none;display:flex}.account-popover a[aria-current=page]{background:var(--accent-wash);color:var(--accent-dark)}@media (hover:hover) and (pointer:fine){.account-popover a:hover,.account-popover button:hover{background:var(--accent-wash);color:var(--accent-dark)}}.account-popover button{cursor:pointer;background:0 0;width:100%}.account-popover button:disabled{cursor:wait;opacity:.62}.account-signout-error{color:var(--danger);margin:5px 11px 7px;font-size:.78rem;line-height:1.35}.library-page{width:var(--page-width);margin:0 auto;padding:14px 0 24px}.library-heading{justify-content:space-between;align-items:center;gap:24px;margin:10px 0 22px;display:flex}.library-title{gap:10px;min-width:0;display:grid}.library-heading h1,.settings-heading h1{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,3.2vw,2.5rem);font-weight:650;line-height:1}.library-summary{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin:8px 0 0;font-size:.84rem;display:flex}.library-watch-count:before{content:"·";margin-right:10px}.heading-actions{align-items:center;gap:24px;display:flex}.primary-button,.secondary-button,.danger-button{min-height:var(--control-height);border:1px solid var(--accent-deep);border-radius:var(--radius);cursor:pointer;transition:background-color .14s ease, border-color .14s ease, color .14s ease, scale .16s var(--ease-out);justify-content:center;align-items:center;gap:24px;padding:0 23px;font-size:.98rem;text-decoration:none;display:inline-flex}.primary-button{background:var(--button-accent);color:var(--button-accent-text)}@media (hover:hover) and (pointer:fine){.primary-button:hover{background:var(--button-accent-hover);border-color:var(--button-accent-hover)}}.primary-button:disabled{border-color:color-mix(in srgb, var(--button-accent) 24%, transparent);background:color-mix(in srgb, var(--button-accent) 18%, transparent);color:color-mix(in srgb, var(--accent-dark) 55%, transparent);cursor:default}.add-novel-button-icon{flex:none;display:block}.secondary-button{color:var(--ink);border-color:var(--line);background:0 0}@media (hover:hover) and (pointer:fine){.secondary-button:hover{border-color:var(--accent-soft);color:var(--accent-dark)}}.secondary-button:disabled{color:var(--muted);cursor:default;opacity:.55}.danger-button{border-color:var(--danger-button);background:var(--danger-button);color:var(--on-color)}@media (hover:hover) and (pointer:fine){.danger-button:hover{border-color:var(--danger-button-hover);background:var(--danger-button-hover)}}.danger-button:disabled{border-color:color-mix(in srgb, var(--danger-button) 20%, transparent);background:color-mix(in srgb, var(--danger-button) 13%, transparent);color:color-mix(in srgb, var(--danger-button-hover) 52%, transparent);cursor:default}.search-control{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 90%, transparent);align-items:center;gap:10px;min-height:44px;padding:0 13px;display:flex;position:relative}.search-control svg{color:var(--muted);flex:none}.search-control input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:.92rem}.search-control input::placeholder{color:var(--muted);opacity:1}.search-control:focus-within{border-color:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-deep) 8%, transparent)}.search-control:focus-within svg{color:var(--accent-deep)}.dropdown-select-shell{border:0;min-width:0;margin:0;padding:0;position:relative}.dropdown-select-button{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 90%, transparent);width:100%;min-height:44px;color:var(--ink);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:0 12px;font-size:.92rem;display:flex}.dropdown-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dropdown-select-leading{flex:none;display:inline-flex}.library-sort-control .dropdown-select-leading{color:var(--accent-dark)}.dropdown-select-button-open{border-color:var(--accent-soft)}@media (hover:hover) and (pointer:fine){.dropdown-select-button:hover{border-color:var(--accent-soft)}}.dropdown-select-button:focus-visible{border-color:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-deep) 8%, transparent);outline:0}.dropdown-select-chevron{color:var(--muted);transition:transform .16s var(--ease-out);flex:none}.dropdown-select-button-open .dropdown-select-chevron{transform:rotate(180deg)}.dropdown-select-heading{border-bottom:1px solid var(--line-soft);gap:2px;margin-bottom:6px;padding:6px 9px 10px;font-size:.82rem;display:grid}.dropdown-select-heading span{color:var(--muted);line-height:1.35}.dropdown-select-popover{z-index:30;overscroll-behavior:contain;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--paper);opacity:0;pointer-events:none;transform-origin:top;width:max-content;min-width:min(100%,100vw - 24px);max-width:min(320px,100vw - 24px);max-height:min(320px,100dvh - 24px);transition:opacity .15s var(--ease-out), transform .15s var(--ease-out), visibility 0s linear .15s;visibility:hidden;padding:7px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;transform:translateY(-6px)scale(.98);box-shadow:0 16px 38px #1f1a2224}.dropdown-select-popover-above{transform-origin:bottom;top:auto;bottom:calc(100% + 8px);transform:translateY(6px)scale(.98)}.dropdown-select-popover-open,.dropdown-select-popover-open.dropdown-select-popover-above{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:none}.dropdown-select-search{border:1px solid var(--line);border-radius:var(--radius);min-height:40px;color:var(--muted);background:color-mix(in srgb, var(--paper) 92%, transparent);align-items:center;gap:8px;margin:0 2px 6px;padding:0 9px;display:flex}.dropdown-select-search:focus-within{border-color:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-deep) 8%, transparent)}.dropdown-select-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.dropdown-select-search input::placeholder{color:var(--muted)}.dropdown-select-empty{color:var(--muted);padding:12px 10px;font-size:.84rem}.dropdown-select-option{border-radius:var(--radius);min-width:0;min-height:38px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:16px;padding:8px 10px;font-size:.9rem;display:flex}.dropdown-select-option:focus-visible,.dropdown-select-option[data-focus-visible]{background:var(--accent-wash);outline:0}@media (hover:hover) and (pointer:fine){.dropdown-select-option:hover{background:var(--accent-wash);outline:0}}.dropdown-select-option>span{overflow-wrap:anywhere;min-width:0}.dropdown-select-option svg{color:var(--accent-dark);opacity:0;flex-shrink:0}.dropdown-select-option-active{color:var(--accent-dark);font-weight:590}.dropdown-select-option-active svg{opacity:1}.dropdown-select-options{display:grid}.view-switch{min-height:44px;border:1px solid var(--line);border-radius:var(--radius);justify-self:end;min-inline-size:0;margin:0;padding:0;display:flex;overflow:hidden}.view-button{cursor:pointer;width:43px;min-height:42px;color:var(--ink);background:0 0;justify-content:center;align-self:stretch;align-items:center;padding:0;font-size:.92rem;display:inline-flex}.view-button+.view-button{border-left:1px solid var(--line)}.view-button-active{background:var(--accent-wash);color:var(--accent-dark)}.novel-actions{display:inline-flex}.novel-actions-trigger,.chapter-remove-button{border-radius:var(--radius);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.novel-actions-trigger[aria-expanded=true]{border-color:var(--line);background:var(--paper);color:var(--ink)}@media (hover:hover) and (pointer:fine){.novel-actions-trigger:hover,.chapter-remove-button:hover{border-color:var(--line);background:var(--paper);color:var(--ink)}}.novel-actions-popover{z-index:40;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);opacity:0;pointer-events:none;transform-origin:100% 0;width:max-content;min-width:220px;max-width:min(300px,100vw - 24px);max-height:calc(100dvh - 24px);transition:opacity .12s var(--ease-out), transform .12s var(--ease-out);padding:6px;display:grid;position:fixed;overflow-y:auto;transform:translateY(-5px)scale(.98);box-shadow:0 14px 35px #17151b29}.novel-actions-popover-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.novel-actions-popover a,.novel-actions-popover button{border-radius:calc(var(--radius) - 2px);min-height:38px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;align-items:center;gap:10px;padding:8px 10px;font-size:.84rem;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.novel-actions-popover a:hover,.novel-actions-popover button:hover:not(:disabled){background:var(--accent-wash);color:var(--accent-dark)}}.novel-actions-popover button:disabled{cursor:default;opacity:.55}.novel-actions-popover .novel-actions-remove{color:var(--danger)}.list-cover{border:1px solid var(--line);object-fit:cover;border-radius:2px;flex:none;width:46px;height:64px;box-shadow:0 3px 8px #17151b14}.cover-placeholder{isolation:isolate;background:var(--cover-background);color:var(--cover-foreground);text-align:left;display:block;position:relative;overflow:hidden;container-type:inline-size}.cover-placeholder:before,.cover-placeholder:after{content:"";pointer-events:none;position:absolute}.cover-placeholder:before{border-right:1px solid color-mix(in srgb, var(--cover-foreground) 12%, transparent);background:color-mix(in srgb, var(--cover-background) 86%, black);width:3%;inset:0 auto 0 0}.cover-placeholder:after{z-index:-1;opacity:.24;background:repeating-radial-gradient(ellipse at 110% 94%, transparent 0 6cqw, var(--cover-accent) 6cqw 6.35cqw, transparent 6.35cqw 10.5cqw);inset:0;-webkit-mask-image:linear-gradient(135deg,#0000 30%,#000 100%);mask-image:linear-gradient(135deg,#0000 30%,#000 100%)}.cover-placeholder[data-pattern=diagonal]:after{background:repeating-linear-gradient(135deg, transparent 0 7cqw, var(--cover-accent) 7cqw 7.35cqw, transparent 7.35cqw 11cqw)}.cover-placeholder[data-pattern=rings]:after{background:repeating-radial-gradient(circle at 95% 105%, transparent 0 9cqw, var(--cover-accent) 9cqw 9.35cqw, transparent 9.35cqw 15cqw)}.cover-placeholder-content{flex-direction:column;padding:9% 9% 8% 11%;display:flex;position:absolute;inset:0}.cover-placeholder-source{border-bottom:1px solid color-mix(in srgb, var(--cover-accent) 45%, transparent);color:var(--cover-accent);letter-spacing:.15em;text-transform:uppercase;overflow-wrap:anywhere;margin-bottom:8%;padding-bottom:6%;font-size:max(10px,3.55cqw);font-weight:500;line-height:1.2}.cover-placeholder-title{font-family:var(--font-display);font-size:var(--cover-title-size);letter-spacing:-.015em;text-wrap:pretty;overflow-wrap:anywhere;-webkit-line-clamp:10;flex-shrink:0;padding-bottom:.15em;font-weight:600;line-height:1.12}.cover-placeholder-subtitle{overflow-wrap:anywhere;-webkit-line-clamp:6;margin-top:7%;font-size:max(11px,4.15cqw);line-height:1.4}.cover-placeholder-author{letter-spacing:.025em;overflow-wrap:anywhere;-webkit-line-clamp:2;flex-shrink:0;margin-top:auto;padding-top:6%;padding-bottom:.1em;font-size:max(11px,4.2cqw);line-height:1.2}.cover-placeholder-title,.cover-placeholder-subtitle,.cover-placeholder-author{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.list-cover .cover-placeholder-content{padding:12%}.list-cover .cover-placeholder-title{-webkit-line-clamp:6;font-size:13cqw}.list-cover .cover-placeholder-source,.list-cover .cover-placeholder-subtitle,.list-cover .cover-placeholder-author{display:none}@container (width<=9.9375em){.cover-placeholder-subtitle{display:none}}@container (width<=7.4375em){.cover-placeholder-source,.cover-placeholder-author{display:none}.cover-placeholder-title{-webkit-line-clamp:8;font-size:12cqw}}.image-lightbox-image.cover-placeholder{aspect-ratio:2/3;width:min(62.6667vh - 58.6667px,600px,90vw);height:auto}.novel-watch-status{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;margin-top:5px;font-size:.75rem;display:inline-flex}.novel-watch-status-new{color:var(--accent-dark);font-weight:620}.novel-watch-status-paused,.novel-watch-error{color:var(--danger)}.metadata-attention-link{width:fit-content;color:var(--warning);text-overflow:clip;white-space:normal;align-items:center;gap:5px;margin-top:7px;font-size:.75rem;font-weight:650;line-height:1.25;text-decoration:none;display:flex;overflow:visible}@media (hover:hover) and (pointer:fine){.metadata-attention-link:hover{color:color-mix(in srgb, var(--warning) 78%, var(--ink));text-underline-offset:2px;text-decoration:underline}}.novel-watch-button{gap:8px;width:max-content;min-height:40px;margin-top:22px}.novel-watch-error{margin:9px 0 0;font-size:.82rem}.novel-source-check-status{color:var(--ready);margin:9px 0 0;font-size:.82rem}.shared-novel-indicator{color:var(--accent-dark);flex:none;align-items:center;display:inline-flex}.novel-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 32px;margin-top:32px;display:grid}.gallery-cover:not(.cover-placeholder){display:block}.gallery-cover{aspect-ratio:2/3;border:1px solid var(--line);object-fit:cover;border-radius:2px;width:100%;height:auto;box-shadow:0 4px 12px #17151b1a}.app-shell[data-density=compact] .list-cover{width:36px;height:50px}.app-shell[data-density=compact] .novel-gallery{gap:18px;margin-top:22px}.collection-footer{min-height:54px;color:var(--accent-deep);justify-content:flex-end;align-items:center;font-size:.8rem;display:flex}.pagination{align-items:center;gap:4px;display:flex}.pagination button{border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;min-width:32px;height:32px;display:grid}.pagination .page-active{border-color:var(--accent-soft);color:var(--accent-deep)}@media (hover:hover) and (pointer:fine){.pagination button:hover:not(:disabled){border-color:var(--accent-soft);color:var(--accent-deep)}}.pagination button:disabled{cursor:default;opacity:.35}.pagination-ellipsis{color:var(--muted);justify-content:center;align-items:center;min-width:1.5rem;display:inline-flex}.empty-library{text-align:center;min-height:360px;padding:72px 16px}.empty-state{text-align:center;justify-items:center;gap:10px;padding:44px 16px;display:grid}.empty-state h2{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:650}.empty-state p{max-width:520px;color:var(--muted);margin:0;line-height:1.5}.empty-state-action{margin-top:6px}.empty-library>.primary-button,.empty-library>.library-clear-filters{margin-top:16px}.empty-library h2{font-family:var(--font-display);margin:12px 0 4px;font-size:2rem;font-weight:650}.empty-library p,.settings-section p{color:var(--muted)}.novel-details-page,.novel-glossary-page,.chapter-reader-page{width:min(1120px,100% - 48px);padding:24px 0 calc(64px + var(--reader-bottom-clearance,env(safe-area-inset-bottom)));margin:0 auto}.novel-details-page,.novel-glossary-page{width:var(--page-width)}.novel-details-page{--novel-cover-width:clamp(176px, 17vw, 216px)}.glossary-heading{padding:28px 0 0}.glossary-heading h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,3.5vw,2.5rem);font-weight:650;line-height:.98}.glossary-heading>p{max-width:660px;color:var(--muted);margin:8px 0 0;font-size:.92rem;line-height:1.5}.glossary-auto-names{max-width:660px;margin-top:18px}.glossary-tabs{border-bottom:1px solid var(--line);gap:24px;margin-top:18px;display:flex}.glossary-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:baseline;gap:6px;margin-bottom:-1px;padding:0 0 10px;font-size:.95rem;font-weight:500;display:inline-flex}.glossary-tabs button[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink);font-weight:650}.glossary-tab-count{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.glossary-entries{padding:22px 0 32px}.glossary-entries>header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.glossary-entries h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:1.35rem;font-weight:650}.glossary-entries>header>div:first-child>p{color:var(--muted);margin:4px 0 0;font-size:.88rem;line-height:1.45}.glossary-header-actions{align-items:center;gap:10px;display:flex}.glossary-header-actions>button{white-space:nowrap;gap:8px;min-height:38px}.glossary-search-control{width:clamp(190px,24vw,280px);min-height:38px}.glossary-search-control input[type=search]::-webkit-search-cancel-button{appearance:none}.glossary-search-clear{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;place-items:center;margin:0 -5px 0 0;padding:0;display:inline-grid}@media (hover:hover) and (pointer:fine){.glossary-search-clear:hover{background:var(--accent-wash);color:var(--accent-deep)}}.glossary-entry-list{border:1px solid var(--line-soft);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 52%, transparent);display:grid}.glossary-entry-form{border:1px solid var(--line-soft);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 52%, transparent);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(160px,.7fr) auto;align-items:end;gap:12px;padding:18px;display:grid}.glossary-term-form{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.glossary-entry-form>label,.glossary-entry-field{gap:7px;min-width:0;display:grid}.glossary-entry-form>label>span,.glossary-entry-field>label{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.78rem;font-weight:650}.glossary-gender-hint{color:var(--muted);font-size:.72rem}.glossary-entry-form input:not([type=hidden]){border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 90%, transparent);width:100%;min-height:44px;color:var(--ink);font:inherit;padding:0 12px}.glossary-entry-form input:not([type=hidden]):focus{border-color:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-deep) 8%, transparent);outline:0}.glossary-entry-list .glossary-entry-form{background:0 0;border-width:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(160px,.6fr) auto;gap:8px;padding:6px 10px}.glossary-entry-list .glossary-term-form{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.glossary-entry-list>:first-child .glossary-entry-form,.glossary-entry-list>.glossary-entry-form:first-child{padding-top:10px}.glossary-entry-list>:not(:first-child){border-top:1px solid var(--line-soft)}.glossary-entry-list :is(label>span:not(.glossary-new-marker),.glossary-entry-field>label){color:var(--muted);padding-left:13px;font-size:.65rem}.glossary-entry-list>:not(:first-child) :is(label>span:not(.glossary-new-marker),.glossary-entry-field>label){clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.glossary-entry-list .glossary-entry-form>label,.glossary-entry-list .glossary-entry-field{gap:5px}.glossary-entry-list .glossary-entry-form input:not([type=hidden]),.glossary-entry-list .dropdown-select-button{background:0 0;border-color:#0000;min-height:36px}.glossary-entry-list .dropdown-select-button{gap:6px;padding-inline:10px}@media (hover:hover) and (pointer:fine){.glossary-entry-list .glossary-entry-form input:not([type=hidden]):hover,.glossary-entry-list .dropdown-select-button:hover{border-color:var(--line)}}.glossary-entry-list .glossary-entry-form input:not([type=hidden]):focus{border-color:var(--accent-soft);background:color-mix(in srgb, var(--paper) 90%, transparent)}.glossary-entry-arrow{min-height:36px;color:var(--accent-deep);place-items:center;font-size:1rem;display:grid}.glossary-entry-actions{justify-content:flex-end;align-items:center;gap:4px;min-width:80px;display:flex}.glossary-entry-actions .primary-button{white-space:nowrap;gap:8px;min-height:44px;padding:0 16px}.glossary-delete-button{width:36px;height:36px;color:var(--danger);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:inline-grid}@media (hover:hover) and (pointer:fine){.glossary-delete-button:hover{background:#9d2d2d0f}}.glossary-delete-button:disabled{cursor:default;opacity:.45}.glossary-save-status{min-width:44px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem}.glossary-form-error{color:var(--danger);grid-column:1/-1;margin:2px 0 0;font-size:.82rem}.glossary-empty-state{min-height:96px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:6px;padding:20px;display:grid}.glossary-empty-state p{margin:0}.glossary-empty-state p:first-child{color:var(--ink);font-weight:600}.glossary-search-empty{min-height:96px}.glossary-character-dialog{width:min(620px,100% - 32px)}.glossary-character-dialog .add-dialog-form>p{color:var(--muted);margin:0 0 24px;line-height:1.5}.glossary-character-dialog .glossary-entry-form{background:0 0;border:0;grid-template-columns:1fr;align-items:stretch;padding:0}.glossary-character-dialog .glossary-entry-arrow{display:none}.glossary-character-dialog .glossary-entry-actions{justify-content:flex-end}.back-link{color:var(--ink);align-items:center;gap:8px;font-size:.88rem;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.back-link:hover{color:var(--accent-dark)}}.novel-details-hero{grid-template-columns:var(--novel-cover-width) minmax(0, 760px);grid-template-rows:auto auto 1fr;align-items:start;gap:20px 40px;margin-top:28px;display:grid}.novel-cover{grid-row:1/4;min-width:0}.novel-details-copy,.novel-reading-actions,.novel-details-description{grid-column:2;min-width:0}.novel-cover-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.novel-cover-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-deep) 42%, transparent);outline-offset:4px}.novel-details-cover:not(.cover-placeholder){display:block}.novel-details-cover{aspect-ratio:2/3;border:1px solid var(--line);object-fit:cover;border-radius:3px;width:100%;height:auto;box-shadow:0 16px 40px #17151b1f}.novel-publication{border-block:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:9px;margin-top:18px;padding:10px 0;display:flex}.novel-publication>svg{flex-shrink:0;margin-top:3px}.novel-publication-source{letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;display:block}.novel-publication-state{color:var(--ink);font-size:.85rem;font-weight:500;display:block}.novel-publication-original{color:var(--muted);font-size:.75rem;font-weight:400}.shelf-publication{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem;line-height:1.5;display:block}.image-lightbox{background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;overflow:visible}.image-lightbox::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:display .22s allow-discrete, overlay .22s allow-discrete, opacity .2s ease;background:#17151bd1}.image-lightbox[open]::backdrop{opacity:1}@starting-style{.image-lightbox[open]::backdrop{opacity:0}}.image-lightbox{transition:display .22s allow-discrete, overlay .22s allow-discrete}.image-lightbox .image-lightbox-frame{opacity:0;transition:opacity .18s var(--ease-out), transform .22s var(--ease-out);transform:scale(.96)}.image-lightbox[open] .image-lightbox-frame{opacity:1;transform:scale(1)}@starting-style{.image-lightbox[open] .image-lightbox-frame{opacity:0;transform:scale(.96)}}.image-lightbox-frame{z-index:1;pointer-events:none;place-items:center;width:min(94vw,1120px);height:100%;max-height:100dvh;margin:0 auto;padding:44px;display:grid;position:relative}.image-lightbox-frame>*{pointer-events:auto}.image-lightbox-backdrop-close{cursor:zoom-out;background:0 0;border:0;width:100%;height:100%;padding:0;position:fixed;inset:0}.image-lightbox-image{object-fit:contain;border-radius:3px;width:auto;max-width:100%;height:auto;max-height:calc(94vh - 88px);display:block;box-shadow:0 24px 70px #0000006b}.image-lightbox-close{z-index:1;width:38px;height:38px;color:var(--on-color);cursor:pointer;background:#17151bd1;border:1px solid #ffffff47;border-radius:999px;place-items:center;padding:0;display:inline-grid;position:absolute;top:24px;right:0}.novel-details-copy{padding-top:4px}.novel-details-copy h1{max-width:760px;font-family:var(--font-display);letter-spacing:-.04em;align-items:flex-start;gap:12px;margin:0 0 8px;font-size:clamp(2rem,3.4vw,2.6rem);font-weight:650;line-height:1.02;display:flex}.novel-details-copy h1>span:first-child{overflow-wrap:anywhere;min-width:0}.novel-details-copy h1 .shared-novel-indicator{margin-top:.12em}.novel-details-author{color:var(--muted);margin:0;font-size:1rem}.novel-details-description{border-top:1px solid var(--line);padding-top:20px}.novel-details-description>:first-child{margin-top:0}.novel-details-source{white-space:nowrap}.novel-details-teaser{max-width:680px;margin:0}.novel-details-teaser blockquote{font-family:var(--font-reader);margin:0;font-size:1.06rem;line-height:1.65}.novel-details-teaser p{overflow-wrap:anywhere;margin:0 0 .7em}.novel-details-teaser figcaption{color:var(--muted);font-size:.8rem}.novel-page-reading-note{border-top:1px solid var(--line-soft);margin:20px 0 0;padding-top:14px}.novel-page-reading-note>p:first-child{margin-top:0}.novel-details-synopsis{max-width:680px;color:var(--ink);white-space:pre-line;margin:0;font-size:1.04rem;line-height:1.7}.novel-details-synopsis-collapsed{-webkit-line-clamp:8;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.novel-details-synopsis-actions{margin-top:10px}.novel-details-synopsis-toggle{color:var(--accent-deep);cursor:pointer;font:inherit;text-underline-offset:4px;background:0 0;padding:3px 0;text-decoration:underline}@media (hover:hover) and (pointer:fine){.novel-details-synopsis-toggle:hover{color:var(--accent-dark)}}.metadata-repair-notice{border:1px solid var(--warning-line);border-radius:var(--radius);background:var(--warning-surface);max-width:720px;color:var(--warning);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;margin-top:22px;padding:14px;display:grid}.metadata-repair-notice>svg{margin-top:2px}.metadata-repair-notice strong{font-family:var(--font-display);font-size:.98rem;display:block}.metadata-repair-notice p{margin:4px 0 0;font-size:.84rem;line-height:1.45}.metadata-repair-notice .metadata-repair-error{color:var(--danger)}.metadata-repair-button{border:1px solid var(--warning-line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 80%, transparent);min-width:max-content;min-height:38px;color:inherit;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:8px 11px;font-size:.82rem;font-weight:700;display:inline-flex}@media (hover:hover) and (pointer:fine){.metadata-repair-button:hover:not(:disabled){background:var(--paper)}}.metadata-repair-button:disabled{cursor:wait;opacity:.65}.novel-metadata-row{justify-content:space-between;align-items:flex-end;gap:20px;margin:24px 0 0;display:flex}.novel-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.novel-tags li{color:var(--muted);background:color-mix(in srgb, var(--ink) 5%, transparent);border:0;border-radius:8px;padding:5px 9px;font-size:.78rem}.novel-watch-control{flex:none;align-items:center;gap:8px;display:flex}.novel-watch-control .novel-watch-status{margin-top:0}.novel-watch-icon-button{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:inline-grid}.novel-watch-icon-button[aria-pressed=true]{background:var(--accent-wash);color:var(--accent-dark)}@media (hover:hover) and (pointer:fine){.novel-watch-icon-button:hover{background:var(--accent-wash);color:var(--accent-dark)}}.novel-watch-icon-button:disabled{cursor:wait;opacity:.65}.novel-reading-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;margin:0;display:flex}.novel-reading-tools{align-items:center;gap:12px;display:flex}.novel-glossary-link{min-height:42px;padding:0 16px;font-size:.92rem;font-weight:600}.novel-reading-note-edit{color:var(--accent-dark);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:.82rem;font-weight:650;display:inline-flex}.novel-reading-note-text{overflow-wrap:anywhere;white-space:pre-wrap;margin:3px 0 10px;line-height:1.6}.novel-page-reading-note form{margin-top:4px}.novel-page-reading-note textarea{border:1px solid var(--line);background:var(--paper);width:100%;min-height:130px;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;padding:12px;line-height:1.5;display:block}.novel-reading-note-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;display:flex}.novel-reading-note-actions span{color:var(--muted);margin-right:auto;font-size:.78rem}.novel-reading-note-actions .primary-button,.novel-reading-note-actions .secondary-button{min-height:36px;padding:6px 12px}.novel-reading-note-hint{color:var(--muted);margin:6px 0 0;font-size:.82rem}.novel-reading-note-error{color:var(--danger);margin:10px 0 0;font-size:.85rem}.novel-continue-button{gap:8px;width:max-content;min-height:42px;text-decoration:none}.novel-details-menu{display:inline-flex;position:relative}.novel-details-menu-trigger{width:36px;height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.novel-details-menu-trigger[aria-expanded=true]{color:var(--ink)}@media (hover:hover) and (pointer:fine){.novel-details-menu-trigger:hover{color:var(--ink)}}.novel-details-menu-popover,.chapter-reader-menu-popover{z-index:40;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);opacity:0;pointer-events:none;transform-origin:100% 0;width:max-content;min-width:220px;max-width:min(300px,100vw - 24px);transition:opacity .12s var(--ease-out), transform .12s var(--ease-out);padding:6px;display:grid;position:absolute;top:calc(100% + 7px);right:0;transform:translateY(-5px)scale(.98);box-shadow:0 14px 35px #17151b29}.chapter-reader-menu-popover{min-width:168px}.novel-details-menu-popover-open,.chapter-reader-menu-popover-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.novel-details-menu-popover a,.novel-details-menu-popover button,.chapter-reader-menu-popover a,.chapter-reader-menu-popover button{border-radius:calc(var(--radius) - 2px);min-height:38px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:8px 10px;font-size:.84rem;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.novel-details-menu-popover a:hover,.novel-details-menu-popover button:hover,.chapter-reader-menu-popover a:hover,.chapter-reader-menu-popover button:hover{background:var(--accent-wash);color:var(--accent-dark)}}.novel-details-menu-popover button:disabled{color:var(--muted);cursor:default;opacity:.55}@media (hover:hover) and (pointer:fine){.novel-details-menu-popover button:disabled:hover{color:var(--muted);background:0 0}}.novel-details-menu-popover .novel-details-menu-remove{color:var(--danger)}.novel-details-menu-group{display:grid}.novel-details-menu-group+.novel-details-menu-group{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.imported-chapters-section{padding-top:40px}@media (width>=56.25em){.novel-details-page>.imported-chapters-section{max-width:calc(var(--novel-cover-width) + 40px + 760px);padding-left:calc(var(--novel-cover-width) + 40px)}}.imported-chapters-section>header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;margin-bottom:8px;padding-bottom:12px;display:flex}.imported-chapters-section h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:1.5rem;font-weight:650}.imported-chapters-section>header p{color:var(--muted);margin:4px 0 0;font-size:.82rem}.chapter-list-controls{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.chapter-order-toggle{border:1px solid var(--line);border-radius:var(--radius);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;place-items:center;padding:0;display:inline-grid}.chapter-order-toggle[aria-pressed=true]{background:var(--accent-wash);color:var(--accent-dark)}@media (hover:hover) and (pointer:fine){.chapter-order-toggle:hover{background:var(--accent-wash)}}.chapter-jump{flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:.86rem;display:flex}.chapter-jump-form{align-items:center;gap:8px;display:inline-flex}.chapter-jump-form label{color:var(--muted)}.chapter-jump-form input{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:4.5em;height:34px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;appearance:textfield;padding:0 8px}.chapter-jump-form input::-webkit-inner-spin-button{appearance:none;margin:0}.chapter-jump-form input::-webkit-outer-spin-button{appearance:none;margin:0}.chapter-jump-form input:focus-visible{border-color:var(--accent-deep);outline:2px solid color-mix(in srgb, var(--accent-deep) 30%, transparent);outline-offset:0}.chapter-jump-form button{border:1px solid var(--line);border-radius:var(--radius);height:34px;color:var(--ink);cursor:pointer;font:inherit;background:0 0;padding:0 10px;font-weight:600}.chapter-jump-form button:disabled{color:var(--muted);cursor:default}@media (hover:hover) and (pointer:fine){.chapter-jump-form button:hover:not(:disabled){border-color:var(--accent-soft);color:var(--accent-dark)}}.imported-chapters-section>header .chapter-new-summary{margin-top:2px;font-size:.86rem}.chapter-new-summary a{color:var(--accent-dark);text-underline-offset:3px;font-weight:600}.chapter-remove-done{min-height:36px;padding:0 14px;font-size:.88rem;font-weight:600}.chapter-window-expand{border-bottom:1px solid var(--line-soft);min-height:44px;color:var(--accent-dark);justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.chapter-window-expand[aria-busy=true]{cursor:progress;opacity:.6;transition:opacity .15s}.chapter-window-expand span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:500}@media (hover:hover) and (pointer:fine){.chapter-window-expand:hover{text-underline-offset:4px;text-decoration:underline}}.imported-chapter-list{margin:0;padding:0;list-style:none}.imported-chapter-list li{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;min-height:44px;display:flex}.chapter-read-link{min-width:0;min-height:44px;color:var(--ink);flex:auto;align-items:center;gap:12px;text-decoration:none;display:flex}.chapter-read-link:focus-visible{border-radius:var(--radius);outline:2px solid var(--accent-deep);outline-offset:2px}.chapter-import-button{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.chapter-import-button:disabled{cursor:progress;opacity:.65}.imported-chapter-list .chapter-source-number{min-width:2.25em;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.8rem}.imported-chapter-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.96rem;font-weight:560;overflow:hidden}@media (width<=35em){.imported-chapter-list strong{-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:break-word;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box}}.chapter-row-untranslated:not(.chapter-row-current) strong,.chapter-import-button strong{color:var(--muted);font-weight:450}.chapter-row-current strong{color:var(--accent-dark)}.chapter-row-note{color:var(--muted);flex-shrink:0;font-size:.78rem}.chapter-row-current .chapter-row-note{color:var(--accent-dark);font-weight:600}.chapter-new-dot{background:var(--accent-deep);border-radius:999px;flex-shrink:0;width:7px;height:7px}.chapter-row-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.chapter-row-action{border-radius:var(--radius);min-width:32px;height:32px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;place-items:center;padding:0;text-decoration:none;transition:background-color .12s,color .12s,opacity .12s;display:inline-grid}.chapter-row-action:focus-visible{outline:2px solid var(--accent-deep);outline-offset:0}.chapter-row-action:disabled{cursor:default;opacity:.5}.chapter-translate-button{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:3px;padding:0 6px;font-size:.8rem}@media (hover:hover) and (pointer:fine){.chapter-row-action:hover:not(:disabled){background:var(--accent-wash);color:var(--accent-dark)}.chapter-remove-button:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger)}.imported-chapter-list .chapter-row-action:not(:disabled,.chapter-remove-button){opacity:0}.imported-chapter-list li:hover .chapter-row-action,.imported-chapter-list li:focus-within .chapter-row-action{opacity:1}.imported-chapter-list li:hover{background:color-mix(in srgb, var(--ink) 3%, transparent)}}.chapter-import-error{color:var(--danger)}.removal-dialog{max-width:500px}.export-dialog{max-width:560px}.uploaded-novel-details-dialog{max-width:600px}.uploaded-novel-details-dialog .add-dialog-form>p{color:var(--muted);margin:0 0 24px}.novel-instructions-dialog{max-width:560px}.novel-instructions-dialog .add-dialog-form>p{color:var(--muted);margin:0 0 24px;line-height:1.5}.novel-instructions-dialog .add-dialog-form>p a{color:var(--accent-dark);text-underline-offset:3px}.novel-instructions-field{border:0;gap:7px;padding:0;display:grid}.novel-instructions-field+.novel-instructions-field{margin-top:18px}.novel-instructions-field>label{letter-spacing:.01em;justify-content:space-between;align-items:baseline;gap:12px;font-size:.75rem;font-weight:650;display:flex}.novel-instructions-field small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:400;line-height:1.45}.novel-instructions-field textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);width:100%;min-height:140px;color:var(--ink);font:inherit;resize:vertical;padding:12px 13px;line-height:1.5}.novel-instructions-field textarea:focus-visible{border-color:var(--accent-deep);box-shadow:inset 0 0 0 1px var(--accent-deep);outline:0}.uploaded-details-loading{min-height:180px;color:var(--muted);justify-content:center;align-items:center;gap:9px;display:flex}.uploaded-details-fields{border:0;gap:18px;padding:0;display:grid}.uploaded-details-fields>label,.uploaded-cover-editor{gap:7px;display:grid}.uploaded-details-fields>label>span,.uploaded-cover-editor>span{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.75rem;font-weight:650}.uploaded-details-fields input[type=text],.uploaded-details-fields input:not([type]),.uploaded-details-fields textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);width:100%;color:var(--ink);font:inherit}.uploaded-details-fields input[type=text],.uploaded-details-fields input:not([type]){min-height:48px;padding:0 13px}.uploaded-details-fields textarea{resize:vertical;min-height:118px;padding:12px 13px;line-height:1.5}.uploaded-details-fields input:focus-visible,.uploaded-details-fields textarea:focus-visible{border-color:var(--accent-deep);box-shadow:inset 0 0 0 1px var(--accent-deep);outline:0}.uploaded-cover-editor>div{align-items:center;gap:16px;display:flex}.uploaded-cover-editor img,.uploaded-cover-placeholder{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);object-fit:cover;flex:none;width:72px;height:100px}.uploaded-cover-placeholder{color:var(--muted);place-items:center;display:grid}.uploaded-cover-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.uploaded-cover-actions label{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.uploaded-cover-actions label:focus-within{outline:2px solid var(--accent-deep);outline-offset:2px}.uploaded-cover-actions input[type=file]{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.uploaded-cover-actions small{color:var(--muted);flex-basis:100%;font-size:.78rem}.uploaded-cover-remove{border-radius:var(--radius);min-height:38px;color:var(--danger);cursor:pointer;align-items:center;gap:7px;padding:0 11px;display:inline-flex}.translation-history-dialog{max-width:620px}.translation-history-intro{color:var(--muted);margin:0;line-height:1.5}.translation-history-loading,.translation-history-empty{min-height:110px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:9px;margin:22px 0 0;padding:22px;display:flex}.translation-history-list{gap:12px;max-height:min(460px,56dvh);margin:22px 0 0;padding:0 4px 0 0;list-style:none;display:grid;overflow-y:auto}.translation-history-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-wash);gap:12px;padding:16px;display:grid}.translation-history-version-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.translation-history-version-heading span,.translation-history-list .secondary-button{align-items:center;gap:7px;display:inline-flex}.translation-history-version-heading span{font-family:var(--font-display);font-weight:700}.translation-history-version-heading small{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.68rem}.translation-history-list p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.translation-history-list .secondary-button{width:fit-content;min-height:36px;padding:7px 12px}.export-dialog-title{font-family:var(--font-display);margin:0 0 8px;font-size:1.05rem;font-weight:700}.export-dialog-title+p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.export-format-options{border:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:24px 0 0;padding:0;display:grid}.export-format-options legend{margin-bottom:10px;font-size:.875rem;font-weight:600}.export-format-option{border:1.5px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;gap:4px;padding:14px 44px 14px 16px;display:grid;position:relative}.export-format-option.selected{border-color:var(--accent-deep);background:var(--paper)}.export-format-option input{width:18px;height:18px;accent-color:var(--accent-deep);margin:0;position:absolute;top:14px;right:14px}.export-format-option strong{font-size:1rem;font-weight:650}.export-format-option small,.export-progress{color:var(--muted);font-size:.8rem;line-height:1.4}.export-progress{margin:14px 0 0}.export-legal-copy{color:var(--muted);margin:18px 0 0;font-size:.8rem;line-height:1.5}.export-legal-copy a{color:var(--accent-dark);text-underline-offset:3px}.export-consent{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 72%, transparent);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;margin-top:14px;padding:12px 14px;font-size:.84rem;line-height:1.45;display:grid}.export-consent input{width:16px;height:16px;accent-color:var(--accent-deep);margin-top:2px}.batch-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 0;padding:0;display:grid}.batch-field{align-content:start;gap:7px;display:grid}.batch-field>span:first-child{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.75rem;font-weight:650}.batch-field input{width:100%;min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);font-variant-numeric:tabular-nums;padding:0 12px}.batch-field input:focus-visible{border-color:var(--accent-deep);outline:3px solid color-mix(in srgb, var(--accent-deep) 18%, transparent)}.batch-field input:user-invalid{border-color:var(--danger-line)}.batch-field small{color:var(--muted);font-size:.78rem;line-height:1.35}.batch-input-suffix{display:block;position:relative}.batch-input-suffix input{padding-right:72px}.batch-input-suffix>span{color:var(--muted);pointer-events:none;font-size:.82rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.batch-wide-field{grid-column:1/-1}.batch-options:disabled{opacity:.7}.batch-warning{border:1px solid var(--warning-line);border-radius:var(--radius);background:var(--warning-surface);color:var(--warning);grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:20px;padding:12px 14px;display:grid}.batch-warning svg{margin-top:1px}.batch-warning p{color:var(--ink);margin:0;font-size:.84rem;line-height:1.45}.batch-dialog .translation-quality-note{color:var(--muted);margin:10px 0 0;font-size:.8rem;line-height:1.45}.batch-progress{gap:7px;margin-top:18px;display:grid}.batch-progress-label{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;font-size:.86rem;display:flex}.batch-progress-label svg{color:var(--accent-dark)}.batch-progress progress{background:var(--accent-wash);appearance:none;border:0;border-radius:999px;width:100%;height:8px;overflow:hidden}.batch-progress progress::-webkit-progress-bar{background:var(--accent-wash)}.batch-progress progress::-webkit-progress-value{background:var(--accent-deep);border-radius:999px;transition:width .3s}.batch-progress progress::-moz-progress-bar{background:var(--accent-deep);border-radius:999px}.batch-progress p{overflow-wrap:anywhere;color:var(--muted);margin:0;font-size:.8rem;line-height:1.4}.batch-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);margin-top:22px;padding:14px 16px}.batch-summary p{margin:0;font-size:.88rem;line-height:1.5}.batch-summary p+p{color:var(--muted);margin-top:8px}.batch-summary .dialog-error{margin-top:8px}.batch-next-steps{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.batch-page-status{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 12px;display:flex}.batch-page-status button{color:var(--accent-dark);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}@media (width<=32.5em){.batch-options{grid-template-columns:minmax(0,1fr)}}.chapter-empty-state{border-top:1px solid var(--line);color:var(--muted);padding:18px 0}.chapter-empty-state p{margin:0}.chapter-empty-state .secondary-button{margin-top:12px}.chapter-reader-article{width:min(var(--reader-measure,680px), calc(100% - var(--reader-side-inset,8px) - var(--reader-side-inset,8px)));transition:transform .2s var(--ease-drawer);margin:28px auto 0}.chapter-reader-article>header{text-align:center;border-bottom:0;padding-bottom:20px}.chapter-reader-article h1{font-family:var(--font-display);letter-spacing:-.04em;margin:12px 0 8px;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:650;line-height:1}.chapter-reader-article>.chapter-reader-heading{font-family:var(--reader-font-family,var(--font-reader));text-align:left;padding-bottom:0}.chapter-reader-heading>p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;font-size:1rem;display:flex}.chapter-reader-article .chapter-reader-heading h1{letter-spacing:-.01em;text-wrap:balance;margin:6px 0 0;font-family:inherit;font-size:clamp(1.6rem,2.4vw,2rem);font-weight:600;line-height:1.2}.chapter-title-spinner{color:var(--muted);vertical-align:-.08em;margin-inline-start:.4em}.chapter-reader-article header p{color:var(--muted);margin:0}.chapter-reader-menu-popover:has(.chapter-reader-menu-extra){width:264px}.chapter-reader-menu-extra{border-top:1px solid var(--line);text-align:left;margin-top:6px;padding:10px 10px 4px}.reader-report-action{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.reader-report-action>button{width:100%}.chapter-reader-menu-extra:first-child{border-top:0;margin-top:0}.reader-quality{border:0;min-width:0;margin:0;padding:0;display:grid}.reader-quality:disabled{cursor:wait;opacity:.6}.reader-quality-option{border-radius:calc(var(--radius) - 2px);color:var(--ink);cursor:pointer;align-items:flex-start;gap:9px;padding:8px 10px;font-size:.84rem;display:flex;position:relative}.reader-quality:disabled .reader-quality-option{cursor:wait}@media (hover:hover) and (pointer:fine){.reader-quality-option:hover{background:var(--accent-wash)}}.reader-quality-option input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.reader-quality-option:has(input:focus-visible){outline:2px solid var(--accent-deep);outline-offset:-2px}.reader-quality-check{color:var(--accent-dark);visibility:hidden;flex:none;margin-top:1px}.reader-quality-option:has(input:checked) .reader-quality-check{visibility:visible}.reader-quality-option small{color:var(--muted);margin-top:1px;font-size:.74rem;display:block}.reader-quality-error{color:var(--danger);padding:4px 10px;font-size:.74rem}.reader-bar{position:var(--rb-position,sticky);top:var(--rb-top,0);bottom:var(--rb-bottom,auto);inset-inline:var(--rb-inset-inline,auto);z-index:35;display:var(--rb-display,grid);box-sizing:border-box;width:var(--rb-width,100%);height:var(--rb-height,44px);margin:var(--rb-margin,0);padding-inline:max(16px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));padding-bottom:var(--rb-padding-bottom,0);border:0 solid var(--line);border-width:var(--rb-border,0 0 1px);border-radius:var(--rb-radius,0);background:var(--rb-background,var(--paper));box-shadow:var(--rb-shadow,none);-webkit-backdrop-filter:var(--rb-backdrop,none);backdrop-filter:var(--rb-backdrop,none);transition:transform .22s var(--ease-out);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.reader-bar[data-hidden]:not(:focus-within,:has([aria-expanded=true])){transform:var(--rb-hide,translateY(-100%))}.reader-bar-progress{inset:var(--rb-progress-inset,0 0 auto);background:var(--rb-progress-track,transparent);pointer-events:none;border-radius:2px;height:2px;position:absolute;overflow:hidden}.reader-bar-progress>span{background:var(--accent-deep);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.reader-bar-back{min-width:0;max-width:100%;min-height:44px;color:var(--ink);justify-self:start;align-items:center;gap:8px;font-size:.86rem;font-weight:500;text-decoration:none;display:inline-flex}.reader-bar-back>svg{color:var(--muted);flex-shrink:0}.reader-bar-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reader-bar-position{color:var(--muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.reader-bar-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.reader-bar-button{border-radius:calc(var(--radius) - 2px);width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;text-decoration:none;display:inline-grid;position:relative}.reader-bar-button[aria-expanded=true]{color:var(--ink)}.reader-bar-button:disabled{cursor:default;opacity:.45}.reader-bar-button:focus-visible,.reader-bar-back:focus-visible{outline:2px solid var(--accent-deep);outline-offset:-2px}.reader-bar-glyph{font-family:var(--font-reader);font-size:1.05rem;font-weight:500;line-height:1}@media (hover:hover) and (pointer:fine){.reader-bar-back:hover>svg,.reader-bar-button:hover:not(:disabled){color:var(--ink)}.reader-bar-button[data-tip]:after{top:var(--rb-tip-top,calc(100% + 6px));bottom:var(--rb-tip-bottom,auto);border-radius:calc(var(--radius) - 2px);background:var(--ink);color:var(--paper);content:attr(data-tip);opacity:0;pointer-events:none;transition:opacity .12s var(--ease-out);white-space:nowrap;padding:4px 8px;font-size:.74rem;position:absolute;left:50%;translate:-50%}.reader-bar-button[data-tip]:is(:hover,:focus-visible):after{opacity:1;transition-delay:.4s}.chapter-reader-menu>.reader-bar-button[data-tip]:after{left:auto;right:0;translate:none}}.chapter-reader-menu{display:inline-flex;position:relative}.reader-bar .chapter-reader-menu-popover{top:var(--rb-menu-top,calc(100% + 7px));bottom:var(--rb-menu-bottom,auto);max-height:calc(100dvh - 80px);transform-origin:var(--rb-menu-origin,top right);overflow-y:auto}.reader-bar .account-menu{border-radius:calc(var(--radius) - 2px);justify-content:center;width:40px;height:40px;padding:0}.account-menu-compact .account-menu>:not(.account-avatar){display:none}.account-menu-compact .account-avatar{width:28px;height:28px;font-size:.85rem}.reader-bar .account-popover{top:var(--rb-menu-top,calc(100% + 7px));bottom:var(--rb-menu-bottom,auto);max-height:calc(100dvh - 80px);transform-origin:var(--rb-menu-origin,top right);overflow-y:auto}@media (width<=40em){.reader-bar{padding-left:max(4px, env(safe-area-inset-left));padding-right:max(4px, env(safe-area-inset-right));grid-template-columns:auto minmax(0,1fr) auto;gap:4px}.reader-bar-back{justify-content:center;width:44px}.reader-bar-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reader-bar-button,.reader-bar .account-menu{width:44px;height:44px}.reader-bar .chapter-reader-menu-popover :is(a,button){min-height:44px}}@media (width<=22.5em){.reader-bar-button,.reader-bar .account-menu{width:38px}}.app-shell[data-motion=reduced] .reader-bar{transition:none}@media (prefers-reduced-motion:reduce){.app-shell[data-motion=system] .reader-bar{transition:none}}.reader-layout{--rb-floating-background:color-mix(in srgb, var(--paper) 92%, transparent);--rb-floating-shadow:0 8px 28px #0000001a, 0 1px 3px #0000000f;--rb-floating-width:min(760px, calc(100% - 24px))}@media not all and (width<=40em){.reader-layout[data-controls=top-floating]{--rb-top:calc(10px + env(safe-area-inset-top));--rb-width:var(--rb-floating-width);--rb-height:48px;--rb-margin:10px auto 0;--rb-border:1px;--rb-radius:16px;--rb-background:var(--rb-floating-background);--rb-backdrop:blur(14px) saturate(1.2);--rb-shadow:var(--rb-floating-shadow);--rb-hide:translateY(calc(-100% - 24px - env(safe-area-inset-top)));--rb-progress-inset:auto 20px 4px;--rb-progress-track:color-mix(in srgb, var(--ink) 8%, transparent)}.reader-layout[data-controls=bottom-attached]{--rb-edge:bottom;--rb-position:fixed;--rb-top:auto;--rb-bottom:0;--rb-inset-inline:0;--rb-height:calc(48px + env(safe-area-inset-bottom));--rb-padding-bottom:env(safe-area-inset-bottom);--rb-border:1px 0 0;--rb-hide:translateY(100%);--rb-progress-inset:-1px 0 auto;--rb-menu-top:auto;--rb-menu-bottom:calc(100% + 7px);--rb-menu-origin:bottom right;--rb-tip-top:auto;--rb-tip-bottom:calc(100% + 6px);--rb-dialog-inset:auto 24px calc(64px + env(safe-area-inset-bottom)) auto;--rb-dialog-origin:bottom right;--reader-bottom-clearance:calc(48px + env(safe-area-inset-bottom))}.reader-layout[data-controls=bottom-floating]{--rb-edge:bottom;--rb-position:fixed;--rb-top:auto;--rb-bottom:calc(14px + env(safe-area-inset-bottom));--rb-inset-inline:0;--rb-width:var(--rb-floating-width);--rb-height:52px;--rb-margin:0 auto;--rb-border:1px;--rb-radius:18px;--rb-background:var(--rb-floating-background);--rb-backdrop:blur(14px) saturate(1.2);--rb-shadow:var(--rb-floating-shadow);--rb-hide:translateY(calc(100% + 24px + env(safe-area-inset-bottom)));--rb-progress-inset:auto 20px 4px;--rb-progress-track:color-mix(in srgb, var(--ink) 8%, transparent);--rb-menu-top:auto;--rb-menu-bottom:calc(100% + 12px);--rb-menu-origin:bottom right;--rb-tip-top:auto;--rb-tip-bottom:calc(100% + 8px);--rb-dialog-inset:auto 24px calc(84px + env(safe-area-inset-bottom)) auto;--rb-dialog-origin:bottom right;--reader-bottom-clearance:calc(66px + env(safe-area-inset-bottom))}.reader-layout[data-controls=corner]{--rb-edge:bottom;--rb-display:none;--rb-corner-display:block;--rb-dialog-inset:auto 24px calc(88px + env(safe-area-inset-bottom)) auto;--rb-dialog-origin:bottom right}}@media (width<=40em){.reader-layout[data-phone-controls=top-floating]{--rb-top:calc(10px + env(safe-area-inset-top));--rb-width:var(--rb-floating-width);--rb-height:48px;--rb-margin:10px auto 0;--rb-border:1px;--rb-radius:16px;--rb-background:var(--rb-floating-background);--rb-backdrop:blur(14px) saturate(1.2);--rb-shadow:var(--rb-floating-shadow);--rb-hide:translateY(calc(-100% - 24px - env(safe-area-inset-top)));--rb-progress-inset:auto 20px 4px;--rb-progress-track:color-mix(in srgb, var(--ink) 8%, transparent)}.reader-layout[data-phone-controls=bottom-attached]{--rb-edge:bottom;--rb-position:fixed;--rb-top:auto;--rb-bottom:0;--rb-inset-inline:0;--rb-height:calc(48px + env(safe-area-inset-bottom));--rb-padding-bottom:env(safe-area-inset-bottom);--rb-border:1px 0 0;--rb-hide:translateY(100%);--rb-progress-inset:-1px 0 auto;--rb-menu-top:auto;--rb-menu-bottom:calc(100% + 7px);--rb-menu-origin:bottom right;--reader-bottom-clearance:calc(48px + env(safe-area-inset-bottom))}.reader-layout[data-phone-controls=bottom-floating]{--rb-edge:bottom;--rb-position:fixed;--rb-top:auto;--rb-bottom:calc(12px + env(safe-area-inset-bottom));--rb-inset-inline:0;--rb-width:var(--rb-floating-width);--rb-height:52px;--rb-margin:0 auto;--rb-border:1px;--rb-radius:18px;--rb-background:var(--rb-floating-background);--rb-backdrop:blur(14px) saturate(1.2);--rb-shadow:var(--rb-floating-shadow);--rb-hide:translateY(calc(100% + 24px + env(safe-area-inset-bottom)));--rb-progress-inset:auto 20px 4px;--rb-progress-track:color-mix(in srgb, var(--ink) 8%, transparent);--rb-menu-top:auto;--rb-menu-bottom:calc(100% + 12px);--rb-menu-origin:bottom right;--reader-bottom-clearance:calc(64px + env(safe-area-inset-bottom))}.reader-layout[data-phone-controls=corner]{--rb-edge:bottom;--rb-display:none;--rb-corner-display:block}.reader-layout[data-phone-controls$=-floating] .reader-bar{gap:6px;padding-inline:8px 4px}.reader-layout[data-phone-controls$=-floating] .reader-bar-button{width:40px}.reader-layout .reader-listen{bottom:var(--reader-bottom-clearance,0)}}@media (width<=22.5em){.reader-layout[data-phone-controls$=-floating] .reader-bar{padding-inline:max(2px, env(safe-area-inset-left)) max(2px, env(safe-area-inset-right));gap:2px}.reader-layout[data-phone-controls$=-floating] :is(.reader-bar-button,.account-menu){width:38px}}.reader-corner{right:max(20px, env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:35;display:var(--rb-corner-display,none);transition:opacity .16s var(--ease-out), transform .16s var(--ease-out), bottom .2s var(--ease-out);position:fixed}.reader-corner[data-hidden]:not(:focus-within,:has([aria-expanded=true])){visibility:hidden;opacity:0;pointer-events:none;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out), visibility 0s linear .16s;transform:translateY(8px)}.reader-corner-back{--reader-corner-back-surface:var(--cream);top:calc(16px + env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));z-index:35;display:var(--rb-corner-display,none);box-sizing:border-box;border-radius:var(--radius);background:var(--reader-corner-back-surface);max-width:min(360px,100vw - 96px);color:var(--muted);white-space:nowrap;transition:color .12s var(--ease-out), opacity .16s var(--ease-out), transform .16s var(--ease-out);padding:6px 10px 6px 8px;font-size:.88rem;text-decoration:none;position:fixed}:root[data-theme=dark] .reader-corner-back{--reader-corner-back-surface:var(--paper)}.reader-corner-back>svg{vertical-align:-4px;margin-inline-end:6px}.reader-corner-back-title{text-overflow:ellipsis;vertical-align:bottom;max-width:calc(100% - 24px);display:inline-block;overflow:hidden}.reader-corner-back[data-hidden]:not(:focus-visible){visibility:hidden;opacity:0;pointer-events:none;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out), visibility 0s linear .16s;transform:translateY(-8px)}.reader-corner-back:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-deep) 42%, transparent);outline-offset:3px}@media (hover:hover) and (pointer:fine){.reader-corner-back:hover{color:var(--ink)}}.reader-corner-button{border:1px solid var(--line);background:var(--paper);width:48px;height:48px;box-shadow:var(--shadow-float);color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}@media (hover:hover) and (pointer:fine){.reader-corner-button:before{content:"";border-radius:50%;position:absolute;inset:-10px}.reader-corner-button:hover:not(:disabled){color:var(--accent-deep)}}.reader-corner-button[aria-expanded=true]{color:var(--accent-deep)}.reader-corner-button:disabled{cursor:default}.reader-corner-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-deep) 42%, transparent);outline-offset:3px}.reader-corner-ring{pointer-events:none;position:absolute;inset:-1px;rotate:-90deg}.reader-corner-ring circle{fill:none;stroke:var(--accent-deep);stroke-dasharray:100;stroke-dashoffset:100px;stroke-width:2px}.reader-corner-panel{box-sizing:border-box;border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);background:var(--paper);transform-origin:100% 100%;width:min(300px,100vw - 32px);max-height:calc(100dvh - 120px);padding:6px;position:absolute;bottom:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 12px 36px #00000024,0 1px 3px #0000000f}@starting-style{.reader-corner-panel{opacity:0;transform:translateY(6px)scale(.98)}}.reader-corner-panel{transition:opacity .14s var(--ease-out), transform .14s var(--ease-out)}.reader-corner-account{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.account-menu-inline .account-menu{text-align:start;width:100%;min-height:44px;padding:6px 11px}.account-menu-inline .account-avatar{flex-shrink:0;width:28px;height:28px;font-size:.85rem}.account-menu-inline .account-menu>span:not(.account-avatar){text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.account-menu-inline .account-chevron{flex-shrink:0;margin-inline:auto 0}.account-menu-inline .account-popover{box-sizing:border-box;width:100%;min-width:0;max-width:none;box-shadow:none;border:0;padding:0;display:none;position:static}.account-menu-inline .account-popover-open{display:grid}.reader-corner-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:2px 10px 6px 8px;display:flex}.reader-corner-heading .reader-bar-back{flex:1;min-width:0}.reader-corner-heading .reader-bar-position{flex-shrink:0}.reader-corner-actions{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:6px 0;display:grid}.reader-corner-actions .reader-bar-button{align-content:center;justify-items:center;gap:3px;width:100%;height:58px;display:grid}.reader-corner-actions .reader-bar-button>small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;overflow:hidden}.reader-corner-menu{padding-top:4px;display:grid}.reader-corner-menu :is(a,button){border-radius:calc(var(--radius) - 2px);min-height:40px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:.88rem;text-decoration:none;display:flex}.reader-corner-menu :is(a,button)>svg{color:var(--muted);flex-shrink:0}@media (hover:hover) and (pointer:fine){.reader-corner-menu :is(a,button):hover:not(:disabled){background:var(--accent-wash)}}.reader-corner-menu :is(a,button):focus-visible{outline:2px solid var(--accent-deep);outline-offset:-2px}@media (width<=40em){.reader-corner-back{top:calc(4px + env(safe-area-inset-top));left:max(6px, env(safe-area-inset-left));background:0 0;max-width:calc(100vw - 24px);padding:12px 12px 12px 10px}.reader-corner-back:before{top:calc(-4px - env(safe-area-inset-top));z-index:-1;width:calc(100vw + 200px);height:calc(76px + env(safe-area-inset-top));background:linear-gradient(var(--reader-corner-back-surface) 55%, color-mix(in srgb, var(--reader-corner-back-surface) 0%, transparent));content:"";pointer-events:none;position:absolute;left:-100px}.reader-corner{right:max(16px, env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom))}.reader-layout:has(.reader-listen) .reader-corner{bottom:calc(var(--reader-listen-height,116px) + 12px)}.reader-corner-menu :is(a,button){min-height:44px}.reader-corner-heading .reader-bar-back{justify-content:flex-start;width:auto}.reader-corner-heading .reader-bar-title{clip-path:none;width:auto;height:auto;position:static}}.app-shell[data-motion=reduced] .reader-corner,.app-shell[data-motion=reduced] .reader-corner-back,.app-shell[data-motion=reduced] .reader-corner-panel{transition:none}@media (prefers-reduced-motion:reduce){.app-shell[data-motion=system] .reader-corner,.app-shell[data-motion=system] .reader-corner-back,.app-shell[data-motion=system] .reader-corner-panel{transition:none}}.reader-typography-dialog{inset:var(--rb-dialog-inset,60px 24px auto auto);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--paper);width:min(340px,100% - 32px);max-height:calc(100dvh - 84px);color:var(--ink);opacity:0;transform-origin:var(--rb-dialog-origin,top right);transition:display .16s allow-discrete, overlay .16s allow-discrete, opacity .16s var(--ease-out), transform .16s var(--ease-out);margin:0;padding:0;position:fixed;overflow:auto;transform:translateY(-6px)scale(.98);box-shadow:0 24px 70px #17151b3d}.reader-typography-dialog[open]{opacity:1;transition:display .2s allow-discrete, overlay .2s allow-discrete, opacity .2s var(--ease-out), transform .2s var(--ease-out);transform:none}@starting-style{.reader-typography-dialog[open]{opacity:0;transform:translateY(-6px)scale(.98)}}.reader-typography-dialog::backdrop{opacity:0;transition:display .16s allow-discrete, overlay .16s allow-discrete, opacity .16s ease;background:#17151b1f}.reader-typography-dialog[open]::backdrop{opacity:1}@starting-style{.reader-typography-dialog[open]::backdrop{opacity:0}}.reader-typography-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:24px 24px 20px;display:flex}.reader-typography-heading h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:1.65rem;font-weight:650}.reader-typography-fields{gap:26px;padding:24px;display:grid}.reader-typography-control-row,.reader-typography-control-heading{align-items:center;gap:10px;display:flex}.reader-typography-control-heading{justify-content:space-between}.reader-typography-control-heading label{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.8rem;font-weight:650}.reader-typography-control-heading output{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.reader-typography-select,.reader-typography-range{flex:1;min-width:0}.reader-typography-range{height:40px;accent-color:var(--accent-deep);cursor:pointer;margin:0}.reader-typography-footer{border-top:1px solid var(--line);padding:15px 24px 18px}.reader-typography-footer p{color:var(--muted);margin:0;font-size:.76rem}.reader-typography-footer .reader-typography-save-error{color:var(--danger)}.reader-typography-footer .reader-typography-save-status{color:var(--muted)}.chapter-reader-content{overflow-wrap:anywhere;font-family:var(--reader-font-family,var(--font-body));font-weight:var(--reader-font-weight,400);font-synthesis:var(--reader-font-synthesis,none);font-size:var(--reader-font-size,18px);line-height:var(--reader-line-spacing,1.6);white-space:pre-wrap;padding:28px 0 48px}.chapter-reader-image-button{cursor:zoom-in;background:0 0;border:0;width:auto;max-width:100%;margin:28px auto;padding:0;display:block}.chapter-reader-image-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-deep) 42%, transparent);outline-offset:4px}.chapter-reader-image{width:auto;max-width:100%;height:auto;display:block}.chapter-reader-loading{min-height:360px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:48px 24px;display:grid}.chapter-reader-loading svg,.chapter-streaming-status svg{color:var(--accent-dark)}.chapter-reader-loading strong{color:var(--ink);font-family:var(--font-display);font-size:1.15rem}.chapter-reader-loading span{max-width:480px;font-size:.86rem;line-height:1.55}.chapter-streaming-status{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;padding-top:28px;font-size:.78rem;display:flex}.chapter-streaming-status+.chapter-reader-content{padding-top:20px}.chapter-translation-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--accent-pale) 48%, transparent);justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:22px 24px;display:flex}.chapter-translation-status{align-items:center;gap:13px;min-width:0;display:flex}.chapter-translation-status svg{color:var(--accent-dark);flex:none}.chapter-translation-status div{gap:3px;display:grid}.chapter-translation-status strong{font-size:.94rem}.chapter-translation-status span,.chapter-translation-error{color:var(--muted);font-size:.78rem}.chapter-translation-panel .primary-button{flex:none}.chapter-translation-error{width:100%;color:var(--danger);margin:0}.share-dialog{max-width:min(560px,100vw - 32px)}.share-dialog input[readonly]{width:100%;min-width:0}.share-dialog-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.share-dialog .share-dialog-actions{margin-block:16px}.share-dialog-footer{flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px;display:flex}.share-text-action{min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}@media (hover:hover) and (pointer:fine){.share-text-action:hover:not(:disabled){color:var(--accent-dark);text-underline-offset:3px;text-decoration:underline}}.share-text-action:disabled{cursor:wait;opacity:.6}.share-consent{align-items:start;gap:10px;display:flex}.shared-novel-page,.shared-reader-page{overflow-wrap:anywhere;width:min(900px,100% - 32px);margin:40px auto}.shared-novel-heading{align-items:center;gap:24px;margin-top:24px;display:flex}.shared-novel-heading>img{border-radius:var(--radius-lg);width:100px}.shared-synopsis{white-space:pre-wrap}.shared-chapters li{border-bottom:1px solid var(--line);padding:12px 0}.shared-reader-content{width:min(var(--reader-measure,680px), calc(100% - var(--reader-side-inset,8px) - var(--reader-side-inset,8px)));white-space:pre-wrap;font-family:var(--reader-font-family,var(--font-body));font-weight:var(--reader-font-weight,400);font-synthesis:var(--reader-font-synthesis,none);font-size:var(--reader-font-size,18px);line-height:var(--reader-line-spacing,1.6);margin:40px auto}.shared-illustration{cursor:zoom-in;background:0 0;border:0;margin:24px auto;padding:0;display:block}.shared-illustration img{max-width:100%;height:auto}.chapter-reader-navigation{width:min(var(--reader-measure,680px), calc(100% - var(--reader-side-inset,8px) - var(--reader-side-inset,8px)));border-top:1px solid var(--line);transition:transform .2s var(--ease-drawer);grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 auto;padding-top:24px;display:grid}.chapter-reader-navigation>a,.chapter-reader-import-next{min-width:0;color:var(--ink);align-items:center;gap:10px;padding:12px 0;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.chapter-reader-navigation>a:hover,.chapter-reader-import-next:hover:not(:disabled){color:var(--accent-dark)}}.chapter-reader-navigation span{gap:3px;min-width:0;display:grid}.chapter-reader-navigation small{color:var(--muted);font-family:var(--font-body);letter-spacing:normal;font-size:.66rem}@media (width>=73.75em){.chapter-reader-page-typography-open .chapter-reader-article,.chapter-reader-page-typography-open .chapter-reader-navigation{transform:translate(-180px)}.chapter-reader-page-chapters-open .chapter-reader-article,.chapter-reader-page-chapters-open .chapter-reader-navigation{transform:translate(-220px)}:is(.chapter-reader-page-typography-open,.chapter-reader-page-chapters-open) :is(.chapter-reader-article,.chapter-reader-navigation){transition-duration:.3s}.chapter-reader-page-chapters-open .chapter-reader-article,.chapter-reader-page-chapters-open .chapter-reader-navigation{width:min(var(--reader-measure,680px), calc(100vw - 488px))}}.chapter-reader-next{text-align:right;justify-content:flex-end}.chapter-reader-next-manual{text-align:right;justify-items:end;display:grid}.chapter-reader-import-next{cursor:pointer;font:inherit;text-align:right;background:0 0;border:0;justify-content:flex-end}.chapter-reader-import-next:disabled{cursor:wait}.chapter-reader-caught-up,.chapter-reader-next-error{color:var(--muted);align-self:center;padding:12px 0;font-size:.82rem}.chapter-reader-next-error{max-width:360px;color:var(--danger);padding-top:0}.section-label{color:var(--muted);font-family:var(--font-body);letter-spacing:normal;font-size:.82rem;font-weight:500}.add-dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);opacity:0;transition:display .14s allow-discrete, overlay .14s allow-discrete, opacity .14s var(--ease-out), transform .14s var(--ease-out);padding:0;overflow:visible;transform:translateY(10px)scale(.985);box-shadow:0 24px 80px #17151b3d}.add-dialog[open]{opacity:1;transition:display .18s allow-discrete, overlay .18s allow-discrete, opacity .15s var(--ease-out), transform .18s var(--ease-out);transform:translateY(0)scale(1)}@starting-style{.add-dialog[open]{opacity:0;transform:translateY(10px)scale(.985)}}.add-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:display .18s allow-discrete, overlay .18s allow-discrete, opacity .18s ease;background:#17151b73}.add-dialog[open]::backdrop{opacity:1}@starting-style{.add-dialog[open]::backdrop{opacity:0}}.add-dialog-form{max-height:calc(100dvh - 34px);padding:38px;position:relative;overflow-y:auto}@media (height>=701px){.add-novel-dialog,.add-novel-dialog .add-dialog-form{max-height:none;overflow:visible}}.add-dialog h2{font-family:var(--font-display);letter-spacing:-.03em;margin:8px 0 10px;font-size:2.35rem;font-weight:650}.add-dialog-panel>p{color:var(--muted);margin:0 0 25px;line-height:1.5}.add-dialog-panel>label>span:first-child,.novel-search-field>label>span:first-child,.file-option-label{text-align:left;font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-bottom:7px;font-size:.75rem;font-weight:600;display:block}.add-dialog input[type=url],.add-dialog input[type=search]{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:100%;min-height:48px;padding:0 13px}.add-dialog input[type=url]:focus-visible,.add-dialog input[type=search]:focus-visible{border-color:var(--accent-deep);box-shadow:inset 0 0 0 1px var(--accent-deep);outline:0}.add-dialog-tabs{border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-wash);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:22px 0 24px;padding:4px;display:grid}.add-dialog-tabs button{border-radius:calc(var(--radius) - 2px);min-height:40px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;justify-content:center;align-items:center;gap:8px;font-size:.86rem;display:inline-flex}.add-dialog-tabs button[aria-selected=true]{background:var(--paper);color:var(--accent-dark);box-shadow:0 1px 4px #17151b1a}.add-dialog-tabs button:disabled{cursor:default}@media (width<=30em){.add-dialog-tabs button{padding:0 4px;font-size:.8rem;line-height:1.15}.add-dialog-tabs button svg{display:none}}.add-dialog-panel{min-height:184px}.novel-search-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.novel-search-field>button{justify-content:center;min-width:48px;min-height:48px;padding:0}.novel-search-note{color:var(--muted);margin:14px 0 0;font-size:.86rem}.novel-search-results{gap:4px;max-height:min(46dvh,420px);margin:16px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.novel-search-result{border-bottom:1px solid var(--line-soft);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 4px;display:grid}.novel-search-cover{aspect-ratio:2/3;object-fit:cover;border-radius:4px;width:44px;container-type:inline-size}.novel-search-details{gap:2px;min-width:0;display:grid}.novel-search-details>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.novel-search-details>span,.novel-search-details>small{color:var(--muted);font-size:.8rem}.novel-search-result>button{gap:6px;min-height:36px;padding:0 12px}.novel-search-owned{color:var(--success);align-items:center;gap:5px;font-size:.82rem;display:inline-flex}.file-upload-control{display:block;position:relative}.file-upload-control input{z-index:1;opacity:0;cursor:pointer;width:100%;position:absolute;inset:25px 0 0}.file-upload-display{border:1px dashed var(--line);border-radius:var(--radius);background:var(--cream);min-height:50px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:10px;padding:0 14px;font-size:.9rem;display:flex;overflow:hidden}.file-upload-control:focus-within .file-upload-display{border-color:var(--accent-soft);color:var(--accent-dark)}@media (hover:hover) and (pointer:fine){.file-upload-control:hover .file-upload-display{border-color:var(--accent-soft);color:var(--accent-dark)}}.file-import-options{gap:18px;margin-top:19px;display:grid}.file-import-options .dropdown-select-button{width:100%}.dialog-checkbox-control{cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;display:grid}.add-dialog-panel>.dialog-checkbox-control{margin-top:14px}.dialog-checkbox-control input{width:17px;height:17px;accent-color:var(--accent-deep);margin-top:2px}.dialog-checkbox-control>span{gap:2px;display:grid}.dialog-checkbox-control strong{font-size:.86rem;font-weight:600}.dialog-checkbox-control small{color:var(--muted);font-size:.78rem;line-height:1.35}.add-dialog .dialog-error{color:var(--danger);margin:10px 0 0;font-size:.9rem;line-height:1.45}.close-button{border-radius:var(--radius);width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}@media (hover:hover) and (pointer:fine){.close-button:hover{background:var(--accent-wash)}}.close-button:disabled{cursor:wait;opacity:.6}.dialog-close{position:absolute;top:18px;right:18px}.dialog-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:26px;display:flex}.settings-page{width:var(--page-width);margin:0 auto;padding:18px 0 64px}.settings-layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:clamp(38px,5vw,68px);margin-top:30px;display:grid}.settings-sidebar{position:sticky;top:18px}.settings-navigation{gap:5px;display:grid}.settings-navigation a{border-radius:var(--radius);min-height:44px;color:var(--muted);align-items:center;gap:11px;padding:0 13px;font-size:.92rem;text-decoration:none;transition:background-color .14s,color .14s;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.settings-navigation a:hover{color:var(--accent-dark);background:#e8f3fa4d}}.settings-navigation a[aria-current=page]{background:var(--accent-wash);color:var(--accent-dark)}.settings-mobile-navigation{display:none}.settings-content{min-width:0}.settings-panel-heading{border-bottom:1px solid var(--line);padding-bottom:25px}.settings-panel-heading h2{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:1.75rem;font-weight:650;line-height:1}.settings-panel-heading p{max-width:560px;color:var(--muted);margin:11px 0 0;font-size:.94rem;line-height:1.5}.theme-appearance-controls{gap:24px;min-width:0;display:grid}.theme-mode,.theme-slot-options{border:0;min-width:0;margin:0;padding:0}.theme-mode>legend{align-items:center;gap:8px;margin-bottom:10px;padding:0;font-size:.86rem;font-weight:600;display:flex}.theme-slot{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);min-width:0}.theme-slot>summary{cursor:pointer;align-items:center;gap:12px;padding:10px 14px 10px 10px;list-style:none;display:flex}.theme-slot>summary::-webkit-details-marker{display:none}.theme-slot>summary:after{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);content:"";width:8px;height:8px;transition:transform .16s var(--ease-out);margin-left:auto;transform:translateY(-2px)rotate(45deg)}.theme-slot[open]>summary:after{transform:translateY(2px)rotate(-135deg)}@media (hover:hover) and (pointer:fine){.theme-slot>summary:hover{background:var(--accent-wash)}}.theme-slot>summary:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.theme-slot-text{gap:2px;min-width:0;display:grid}.theme-slot-mode{flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.theme-slot-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.theme-slot-options{padding:4px 14px 14px}.theme-mode-options{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);max-width:100%;padding:3px;display:inline-flex}.theme-mode-options label{border-radius:var(--radius);color:var(--muted);cursor:pointer;white-space:nowrap;padding:7px 14px;font-size:.88rem;font-weight:500;position:relative}@media (hover:hover) and (pointer:fine){.theme-mode-options label:hover{color:var(--ink)}}.theme-mode-options label:has(input:checked){background:var(--accent-wash);color:var(--ink);font-weight:600}.theme-mode-options label:has(input:focus-visible){outline:2px solid var(--accent-color);outline-offset:1px}.theme-mode-options input,.theme-preset input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.theme-badge{border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:1px 8px;font-size:.72rem;font-weight:500}.theme-preset-options{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;display:grid}.theme-preset{cursor:pointer;gap:8px;min-width:0;display:grid;position:relative}.theme-preset-preview{box-sizing:border-box;aspect-ratio:16/10;border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);border-radius:calc(var(--radius) + 4px);padding:10px;transition:border-color .12s,box-shadow .12s;display:grid;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.theme-preset:hover .theme-preset-preview{border-color:color-mix(in srgb, var(--ink) 40%, transparent)}}.theme-preset input:checked+.theme-preset-preview{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color)}.theme-preset input:focus-visible+.theme-preset-preview{outline:2px solid var(--accent-color);outline-offset:4px}.theme-preset-card{box-sizing:border-box;border-radius:var(--radius);border:1px solid #0000;align-content:start;gap:6px;min-height:0;padding:9px;display:grid}.theme-preset-line{border-radius:3px;width:78%;height:5px;display:block}.theme-preset-line-short{width:52%}.theme-preset-accent{border-radius:5px;width:22px;height:10px;position:absolute;bottom:18px;right:18px}.theme-preset-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.theme-preset input:checked~.theme-preset-name{color:var(--ink);font-weight:600}.reader-controls-picker{gap:18px;display:grid}.reader-controls-fieldset{border:0;min-width:0;margin:0;padding:0}.reader-controls-fieldset>legend{margin-bottom:10px;padding:0;font-size:.86rem;font-weight:600}.reader-controls-fieldset>.reader-controls-device{align-items:center;gap:8px;margin-bottom:18px;font-size:.9rem;display:flex}.reader-controls-device>svg{color:var(--muted)}.reader-controls-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:460px;display:grid}.reader-controls-preview{aspect-ratio:4/3;background:var(--paper);padding:0}.reader-controls-preview-text{align-content:start;gap:5px;padding:22% 22% 0;display:grid;position:absolute;inset:0}.reader-controls-preview-text>i{background:color-mix(in srgb, var(--ink) 22%, transparent);border-radius:2px;height:4px;display:block}.reader-controls-preview-text>i:nth-child(3n){width:70%}.reader-controls-preview-bar{border:0 solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--paper);height:13%;position:absolute;inset-inline:0}.reader-controls-preview-bar[data-place=top]{border-bottom-width:1px;top:0}.reader-controls-preview-bar[data-place=bottom]{border-top-width:1px;bottom:0}.reader-controls-preview-bar[data-floating]{border-width:1px;border-radius:6px;height:12%;inset-inline:10%;box-shadow:0 3px 8px #0000001f}.reader-controls-preview-bar[data-floating][data-place=top]{top:6%}.reader-controls-preview-bar[data-floating][data-place=bottom]{bottom:6%}.reader-controls-preview-bar:before,.reader-controls-preview-bar:after{content:"";border-radius:2px;height:3px;position:absolute;top:50%;translate:0 -50%}.reader-controls-preview-bar:before{background:color-mix(in srgb, var(--ink) 35%, transparent);width:18%;left:8%}.reader-controls-preview-bar:after{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink) 35%, transparent) 0 5px, transparent 5px 9px);width:30%;right:8%}.reader-controls-preview-corner{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--ink) 25%, transparent);background:var(--paper);border-radius:50%;width:15%;position:absolute;bottom:9%;right:8%;box-shadow:0 2px 6px #00000026}.reader-controls-hint{max-width:460px;color:var(--muted);margin:8px 0 0;font-size:.8rem}.reader-controls-picker>.reader-controls-hint{margin-top:-8px}.theme-slot>summary .theme-preset-preview{flex:0 0 64px;padding:5px}.theme-slot>summary .theme-preset-card{gap:4px;padding:5px}.theme-slot>summary .theme-preset-accent{width:14px;height:7px;bottom:10px;right:10px}.theme-customization{border:0;min-width:0;margin-top:8px;padding:0}.theme-customization>summary{width:fit-content;min-height:40px;color:var(--accent-dark);cursor:pointer;align-items:center;gap:10px;font-weight:600;display:flex}.theme-customization>p{color:var(--muted);margin:8px 0 16px;font-size:.9rem}.settings-form{margin-top:0}.settings-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);gap:clamp(28px,4vw,54px);padding-block:26px;display:grid}.settings-section h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:1.25rem;font-weight:650}.settings-section header p{max-width:260px;margin:9px 0 0;font-size:.9rem;line-height:1.5}.source-connection-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--paper) 78%, transparent);gap:18px;padding:24px;display:grid;box-shadow:0 14px 40px #17151b0b}.frost-extension-banner{border:1px solid color-mix(in srgb, var(--accent-deep) 30%, var(--line));border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--accent-deep) 6%, var(--paper));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:24px;padding:18px 20px;display:grid}.terms-required-notice{border:1px solid color-mix(in srgb, var(--accent-deep) 30%, var(--line));border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--accent-deep) 6%, var(--paper));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:24px;padding:18px 20px;display:flex}.terms-required-notice>div{flex:18rem}.terms-required-notice h3{margin:0;font-size:1rem;font-weight:650}.terms-required-notice p{color:var(--muted);margin:4px 0 0;font-size:.9rem;line-height:1.5}.frost-extension-banner>svg{color:var(--accent-deep);align-self:start;margin-top:2px}.frost-extension-banner h3{margin:0;font-size:1rem;font-weight:650}.frost-extension-banner p{color:var(--muted);margin:4px 0 0;font-size:.9rem;line-height:1.5}@media (width<=40em){.frost-extension-banner{grid-template-columns:auto minmax(0,1fr)}.frost-extension-banner-actions{grid-column:1/-1}}.frost-extension-banner-actions{flex-wrap:wrap;gap:8px;display:flex}.frost-extension-coming-soon{border:1px solid color-mix(in srgb, var(--accent-deep) 35%, var(--line));color:var(--accent-deep);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.frost-extension-guide-dialog{width:min(620px,100% - 32px)}.frost-extension-guide-dialog p,.frost-extension-guide-dialog li{color:var(--muted);line-height:1.5}.frost-extension-guide-dialog h3{margin:22px 0 8px;font-size:1rem;font-weight:650}.frost-extension-guide-options{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:18px;display:grid}.frost-extension-guide-options section{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.frost-extension-guide-options h3{margin-top:0}.frost-extension-guide-dialog ul,.frost-extension-guide-dialog ol{gap:6px;margin:0;padding-left:20px;display:grid}.frost-extension-guide-dialog a{color:var(--accent-dark);text-underline-offset:3px}.source-directory [hidden]{display:none}.source-search{margin-top:24px}.source-suggestion{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:12px 0 0;font-size:.86rem;line-height:1.5;display:flex}.source-suggestion a{color:var(--accent-dark);white-space:nowrap;align-items:center;gap:5px;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.source-suggestion a:hover{text-decoration:underline}}@media (width<=35em){.source-suggestion{flex-wrap:wrap;justify-content:flex-start;gap:6px 12px}}.source-search-results{color:var(--muted);margin:10px 0 0;font-size:.86rem}.source-directory-group{align-items:start}.source-language-groups{gap:24px;min-width:0;display:grid}.source-language-group{min-width:0}.source-language-disclosure{gap:16px;min-width:0;display:grid}.source-language-disclosure>summary{border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:2px 0;list-style:none;display:flex}.source-language-disclosure>summary::-webkit-details-marker{display:none}.source-language-disclosure>summary:focus-visible{outline:2px solid var(--accent-deep);outline-offset:6px}.source-language-disclosure>summary h4{color:var(--muted);margin:0;font-size:.9rem;font-weight:600}.source-language-chevron{color:var(--muted)}.source-language-disclosure[open] .source-language-chevron{transform:rotate(180deg)}.source-language-sources{gap:16px;min-width:0;display:grid}.source-connection-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.source-connection-card>.source-connection-header{flex-wrap:wrap;padding-inline:8px}.source-connection-disclosure>summary{border-radius:var(--radius);cursor:pointer;grid-template-columns:minmax(0,1fr) auto 18px;gap:12px;padding-inline:8px;list-style:none;display:grid}.source-connection-disclosure>summary::-webkit-details-marker{display:none}.source-connection-disclosure>summary:focus-visible{outline:2px solid var(--accent-deep);outline-offset:6px}.source-connection-chevron{color:var(--muted)}.source-connection-disclosure[open] .source-connection-chevron{transform:rotate(180deg)}.source-connection-content{gap:18px;padding-top:18px;display:grid}.source-credential-form,.source-credential-form label{gap:9px;display:grid}.source-credential-form{gap:16px}.source-credential-form label{font-size:.86rem}.source-credential-form input{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:100%;min-width:0;min-height:42px;color:var(--ink);font:inherit;padding:9px 12px}.source-provider{align-items:center;gap:13px;min-width:0;display:flex}.source-provider-mark{border:1px solid color-mix(in srgb, var(--accent-deep) 20%, transparent);border-radius:var(--radius-lg);background:var(--accent-wash);width:44px;height:44px;color:var(--accent-dark);flex:none;place-items:center;display:grid}.source-provider h5{color:var(--ink);font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:1.05rem;font-weight:680}.source-provider div>span{color:var(--muted);margin-top:2px;font-size:.78rem;display:block}.source-connection-description,.source-connection-note,.source-connection-error{margin:0;font-size:.86rem;line-height:1.5}.source-connection-description,.source-connection-note{color:var(--muted)}.source-connection-description{max-width:610px}.source-connection-state{background:var(--accent-wash);width:fit-content;min-height:27px;color:var(--accent-dark);border-radius:8px;flex:none;align-items:center;gap:7px;padding:0 10px 0 9px;font-size:.73rem;font-weight:650;display:inline-flex}.source-connection-state-dot{width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, currentcolor 12%, transparent);background:currentColor;border-radius:50%}.source-connection-state-idle{color:var(--muted);background:#6f687417}.source-connection-state-ready{color:var(--ready);background:#3c85641f}.source-connection-state-warning{color:var(--warning);background:#b2781a1f}.source-connection-state-problem{color:var(--danger);background:#9b35441a}.source-session-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-top:16px;display:flex}.source-session-actions .primary-button,.source-session-actions .secondary-button{gap:9px;min-height:42px;padding-inline:15px;font-size:.86rem}.source-session-text-button{min-height:40px;color:var(--accent-dark);cursor:pointer;font:inherit;text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:7px;padding:0 7px;font-size:.82rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}@media (hover:hover) and (pointer:fine){.source-session-text-button:hover:not(:disabled){text-decoration-color:currentColor}}.source-session-text-button:disabled{cursor:default;opacity:.5}.source-session-cancel,.source-connection-error{color:var(--danger)}.settings-fields{gap:22px;display:grid}.account-usage-note{color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.billing-beta-notice{border:1px solid color-mix(in srgb, var(--accent-color) 35%, transparent);border-radius:var(--radius-lg);background:var(--accent-wash);padding:14px 16px;line-height:1.5}.billing-beta-notice p{margin:4px 0 0}.billing-actions-group{gap:12px;display:grid}.billing-terms{align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.5;display:flex}.billing-terms small{color:var(--muted);font-size:.82rem;display:block}.billing-terms input{width:18px;height:18px;accent-color:var(--accent-color);flex:none;margin:2px 0 0;padding:0}.billing-actions{gap:12px;width:max-content;max-width:100%;display:grid}.billing-actions form{display:contents}.billing-actions button{width:100%}.settings-fields-two-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.setting-reset-button{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 82%, transparent);width:40px;height:40px;color:var(--muted);cursor:pointer;flex:0 0 40px;place-items:center;padding:0;display:inline-grid}@media (hover:hover) and (pointer:fine){.setting-reset-button:hover{border-color:var(--accent-soft);color:var(--accent-dark)}}.settings-control{align-content:start;gap:8px;display:grid}.settings-control>label{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.8rem;font-weight:650}.settings-control-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.settings-control-heading>span{font:inherit;letter-spacing:inherit}.settings-control-heading small{color:var(--muted);font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:.7rem;font-weight:450}.theme-color-controls{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0;padding:0;display:grid}.theme-color-control{border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--paper) 82%, transparent);align-items:center;gap:12px;min-width:0;padding:8px 10px 8px 8px;display:flex}.theme-color-control:focus-within{border-color:var(--accent-soft)}.theme-color-swatch{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);cursor:pointer;border-radius:50%;flex:0 0 36px;width:36px;height:36px;position:relative}.theme-color-swatch:has(input:focus-visible){outline:2px solid var(--accent-color);outline-offset:2px}.theme-color-swatch input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.theme-color-text{flex:1;gap:1px;min-width:0;display:grid}.theme-color-text label{color:var(--muted);font-size:.78rem}.theme-color-hex{width:100%;min-width:0;color:var(--ink);text-transform:uppercase;background:0 0;border:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem}.theme-color-hex:focus{outline:none}.settings-control input,.settings-control textarea{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 82%, transparent);width:100%}.settings-control input::placeholder,.settings-control textarea::placeholder{color:var(--muted);opacity:1}.settings-control input:focus,.settings-control textarea:focus{border-color:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-deep) 8%, transparent);outline:0}.settings-control>small{color:var(--muted);font-size:.78rem;line-height:1.45}.settings-control input{min-height:48px;padding:0 13px}.settings-control .dropdown-select-button{background:color-mix(in srgb, var(--paper) 82%, transparent);min-height:48px}.settings-control textarea{resize:vertical;min-height:132px;padding:13px;line-height:1.5}.settings-control-short{max-width:280px}.reader-keyboard-toggle{justify-content:space-between;align-items:center;gap:16px;display:flex}.reader-keyboard-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.reader-keyboard-control input{min-width:0}.reader-menu-settings{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--paper);align-self:start;overflow:hidden}.reader-menu-settings-heading,.reader-menu-settings-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.78rem;display:flex}.reader-menu-settings-heading{cursor:pointer;list-style:none}.reader-menu-settings-heading::-webkit-details-marker{display:none}.reader-menu-settings-heading:focus-visible{outline:2px solid var(--accent-deep);outline-offset:-2px}.reader-menu-settings[open]>.reader-menu-settings-heading{border-bottom:1px solid var(--line)}.reader-menu-settings-heading>span{margin-left:auto}.reader-menu-settings[open]>.reader-menu-settings-heading>svg{transform:rotate(180deg)}.reader-menu-settings-heading strong{color:var(--ink);font-size:.85rem}.reader-menu-settings-list{margin:0;padding:0;list-style:none}.reader-menu-setting{grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:7px 14px;display:grid}.reader-menu-setting+.reader-menu-setting{border-top:1px solid var(--line)}.reader-menu-setting-hidden{background:color-mix(in srgb, var(--muted) 5%, var(--paper))}.reader-menu-setting-position{color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;font-size:.75rem}.reader-menu-setting-toggle{cursor:pointer;align-items:center;gap:10px;min-width:0;display:flex}.reader-menu-setting-hidden .reader-menu-setting-toggle span{color:var(--muted)}.reader-menu-setting-order{gap:4px;display:flex}.reader-menu-move{justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.reader-menu-settings-footer{border-top:1px solid var(--line)}.settings-toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:48px;display:flex}.settings-toggle-row>span{gap:5px;display:grid}.settings-toggle-row strong{font-size:.98rem;font-weight:620}.settings-toggle-row small{max-width:520px;color:var(--muted);font-size:.8rem;line-height:1.45}.notification-settings-list{border-top:1px solid var(--line);display:grid}.notification-setting-row{border-bottom:1px solid var(--line);padding:18px 0}.settings-inline-error{color:var(--danger);margin:14px 0 0;font-size:.82rem;line-height:1.5}.notification-permission-button{width:fit-content;margin:14px 0 0}.settings-toggle-row input,.settings-switch{appearance:none;border:1px solid var(--switch-off-border);background:var(--switch-off-track);cursor:pointer;border-radius:999px;flex:none;width:44px;height:24px;transition:background-color .15s,border-color .15s;position:relative}.settings-toggle-row input:before,.settings-switch:before{background:var(--switch-thumb);content:"";width:16px;height:16px;transition:transform .15s var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 0 0 1px #17151b29,0 1px 4px #17151b47}.settings-toggle-row input:checked,.settings-switch:checked{border-color:var(--accent-soft);background:var(--accent-soft)}.settings-toggle-row input:checked:before,.settings-switch:checked:before{transform:translate(20px)}.settings-toggle-row input:focus-visible,.settings-switch:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-deep) 18%, transparent);outline-offset:3px}.account-identity-preview{align-items:center;gap:13px;min-height:54px;display:flex}.account-identity-preview>span{border:1px solid color-mix(in srgb, var(--accent-deep) 25%, transparent);background:var(--accent-pale);width:48px;height:48px;color:var(--accent-dark);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.25rem;display:grid}.account-identity-preview strong{font-family:var(--font-display);font-size:1.08rem;font-weight:630}.passkey-settings{gap:16px;display:grid}.passkey-intro{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.passkey-intro>svg{color:var(--accent-dark)}.passkey-intro p,.passkey-status,.passkey-error{color:var(--muted);margin:4px 0 0;font-size:.84rem;line-height:1.45}.passkey-intro .secondary-button{gap:8px;min-height:42px;padding-inline:16px;font-size:.88rem}.passkey-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.passkey-list li{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 12px 10px 14px;display:flex}.passkey-list li>div{gap:3px;display:grid}.passkey-list li span{color:var(--muted);font-size:.76rem}.passkey-list button{border-radius:var(--radius);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;flex:0 0 36px;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.passkey-list button:hover{background:var(--accent-wash);color:var(--danger)}}.passkey-list button:disabled{cursor:wait;opacity:.55}.passkey-error,.delete-account-section h3{color:var(--danger)}.delete-account-action{justify-items:start;gap:18px;display:grid}.delete-account-action p{max-width:560px;margin:0;font-size:.94rem;line-height:1.55}.delete-account-dialog strong{color:var(--ink);overflow-wrap:anywhere}.delete-account-fields{gap:18px;display:grid}.delete-account-fields label small{color:var(--muted);margin-top:7px;font-size:.78rem;line-height:1.45;display:block}.usage-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.usage-summary article{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 66%, transparent);align-content:start;gap:7px;min-height:122px;padding:16px;display:grid}.usage-summary article>span{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.78rem;font-weight:650}.usage-summary strong{font-family:var(--font-display);font-size:1.16rem;font-weight:650}.usage-summary small{color:var(--muted);font-size:.78rem;line-height:1.4}.settings-state{color:var(--muted);align-items:center;gap:7px;font-size:.86rem;display:inline-flex}.settings-state svg{flex:none}.settings-state-saved{color:var(--ready)}.settings-state-error,.settings-control small.settings-field-error{color:var(--danger)}.settings-save-status{bottom:calc(16px + env(safe-area-inset-bottom));z-index:2;border:1px solid var(--line);background:var(--paper);width:fit-content;max-width:100%;box-shadow:var(--shadow-float);transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);border-radius:999px;place-self:flex-end end;margin:8px 0 0 auto;padding:7px 14px;position:sticky}@starting-style{.settings-save-status{opacity:0;transform:translateY(6px)}}.app-shell[data-motion=reduced] *,.app-shell[data-motion=reduced] :before,.app-shell[data-motion=reduced] :after{scroll-behavior:auto;transition:none;animation:none}.app-shell[data-motion=full]{--press-scale:.97}.app-shell[data-motion=reduced]{--press-scale:1}.app-shell[data-motion=reduced] .account-popover,.app-shell[data-motion=reduced] .dropdown-select-popover{transition:opacity .15s var(--ease-out), visibility 0s linear .15s}.app-shell[data-motion=reduced] .account-popover-open,.app-shell[data-motion=reduced] .dropdown-select-popover-open{transition:opacity .15s var(--ease-out)}.app-shell[data-motion=reduced] .novel-actions-popover,.app-shell[data-motion=reduced] .novel-details-menu-popover,.app-shell[data-motion=reduced] .chapter-reader-menu-popover{transition:opacity .12s var(--ease-out)}.app-shell[data-motion=reduced] .add-dialog,.app-shell[data-motion=reduced] .add-dialog::backdrop,.app-shell[data-motion=reduced] .reader-chapter-picker::backdrop,.app-shell[data-motion=reduced] .reader-typography-dialog::backdrop,.app-shell[data-motion=reduced] .image-lightbox,.app-shell[data-motion=reduced] .image-lightbox::backdrop{transition:display .18s allow-discrete, overlay .18s allow-discrete, opacity .18s var(--ease-out)}.app-shell[data-motion=reduced] .reader-chapter-picker[open]{transition:none}.app-shell[data-motion=reduced] .reader-typography-dialog{opacity:0;transition:display .18s allow-discrete, overlay .18s allow-discrete, opacity .18s var(--ease-out);transform:none}.app-shell[data-motion=reduced] .reader-typography-dialog[open]{opacity:1;transition:display .18s allow-discrete, overlay .18s allow-discrete, opacity .18s var(--ease-out)}@starting-style{.app-shell[data-motion=reduced] .reader-typography-dialog[open]{opacity:0}}.app-shell[data-motion=reduced] .image-lightbox .image-lightbox-frame,.app-shell[data-motion=reduced] .settings-save-status,.app-shell[data-motion=reduced] .reader-listen{transition:opacity .18s var(--ease-out)}@media (prefers-reduced-motion:reduce){.app-shell[data-motion=system] *,.app-shell[data-motion=system] :before,.app-shell[data-motion=system] :after{scroll-behavior:auto;transition:none;animation:none}.app-shell[data-motion=system] .account-popover,.app-shell[data-motion=system] .dropdown-select-popover{transition:opacity .15s var(--ease-out), visibility 0s linear .15s}.app-shell[data-motion=system] .account-popover-open,.app-shell[data-motion=system] .dropdown-select-popover-open{transition:opacity .15s var(--ease-out)}.app-shell[data-motion=system] .novel-actions-popover,.app-shell[data-motion=system] .novel-details-menu-popover,.app-shell[data-motion=system] .chapter-reader-menu-popover{transition:opacity .12s var(--ease-out)}.app-shell[data-motion=system] .add-dialog,.app-shell[data-motion=system] .add-dialog::backdrop,.app-shell[data-motion=system] .reader-chapter-picker::backdrop,.app-shell[data-motion=system] .reader-typography-dialog::backdrop,.app-shell[data-motion=system] .image-lightbox,.app-shell[data-motion=system] .image-lightbox::backdrop{transition:display .18s allow-discrete, overlay .18s allow-discrete, opacity .18s var(--ease-out)}.app-shell[data-motion=system] .reader-chapter-picker[open]{transition:none}.app-shell[data-motion=system] .reader-typography-dialog{opacity:0;transition:display .18s allow-discrete, overlay .18s allow-discrete, opacity .18s var(--ease-out);transform:none}.app-shell[data-motion=system] .reader-typography-dialog[open]{opacity:1;transition:display .18s allow-discrete, overlay .18s allow-discrete, opacity .18s var(--ease-out)}@starting-style{.app-shell[data-motion=system] .reader-typography-dialog[open]{opacity:0}}.app-shell[data-motion=system] .image-lightbox .image-lightbox-frame,.app-shell[data-motion=system] .settings-save-status,.app-shell[data-motion=system] .reader-listen{transition:opacity .18s var(--ease-out)}}@media (width<=73.75em){.novel-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=62.5em){.settings-layout{grid-template-columns:170px minmax(0,1fr);gap:32px}.settings-section,.settings-fields-two-column,.usage-summary{grid-template-columns:1fr}.settings-section{gap:24px}}@media (width<=55em){.site-header{min-height:64px;padding:10px 0 4px}.site-header .account-menu>span:not(.account-avatar){display:none}.library-page{padding-top:12px;padding-bottom:36px}.library-heading{align-items:flex-start;gap:24px}.heading-actions{flex-direction:column;align-items:flex-end;gap:10px}.search-control{grid-column:1/-1}.view-switch{grid-column:2;justify-self:end}.novel-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.glossary-entries>header{flex-direction:column;align-items:flex-start;gap:14px}.glossary-header-actions{width:100%}.glossary-search-control{width:100%;max-width:320px}}@media (width<=45em){.source-connection-disclosure>summary{grid-template-columns:minmax(0,1fr) 18px}.source-connection-disclosure .source-connection-state{grid-area:2/1/auto/-1;justify-self:start}.source-connection-chevron{grid-area:1/2}.novel-details-page,.novel-glossary-page{width:var(--page-width)}.chapter-reader-page{width:calc(100% - 32px)}.novel-details-page,.novel-glossary-page,.chapter-reader-page{padding-top:18px}.glossary-entry-form,.glossary-term-form{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.glossary-entry-form>label:nth-of-type(3),.glossary-entry-actions{grid-column:span 1}.glossary-entry-list .glossary-entry-form,.glossary-entry-list .glossary-term-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 6px;padding:8px}.glossary-entry-list .glossary-entry-arrow{display:none}.glossary-entry-list .glossary-term-form .glossary-entry-actions{grid-column:1/-1}.novel-details-hero{grid-template-columns:150px minmax(0,1fr);gap:26px}.settings-page{padding-top:14px;padding-bottom:48px}.settings-layout{margin-top:20px;display:block}.settings-sidebar{display:none}.settings-mobile-navigation{gap:8px;margin-bottom:24px;display:grid}.settings-mobile-navigation .dropdown-select-button{background:color-mix(in srgb, var(--paper) 82%, transparent);min-height:48px}.settings-panel-heading{padding-bottom:22px}.settings-section{gap:24px}.settings-section header p{max-width:520px}.passkey-intro{grid-template-columns:auto minmax(0,1fr)}.passkey-intro .secondary-button{grid-column:1/-1;width:100%}.source-connection-card{padding:18px}.source-session-actions .primary-button,.source-session-actions .secondary-button{width:100%}.source-session-actions{flex-direction:column;align-items:stretch}.settings-control-short{max-width:none}}@media (width<=35em){.theme-color-controls{grid-template-columns:1fr}.site-header{padding:8px 0 2px}.account-avatar{width:38px;height:38px}.glossary-heading{padding:16px 0 0}.glossary-entries>header{flex-direction:column;align-items:flex-start;gap:14px}.glossary-header-actions{flex-direction:column-reverse;align-items:stretch;width:100%}.glossary-header-actions>button{justify-content:center;width:100%}.glossary-search-control{max-width:none}.glossary-entry-form,.glossary-term-form{grid-template-columns:1fr}.glossary-entry-arrow{justify-content:start;justify-self:center;min-height:auto;transform:rotate(90deg)}.glossary-entry-form>label:nth-of-type(3),.glossary-entry-actions{grid-column:1}.glossary-entry-list .glossary-entry-form,.glossary-entry-list .glossary-term-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.glossary-entry-list .glossary-entry-actions{grid-column:auto}.glossary-entry-list .glossary-term-form .glossary-entry-actions{grid-column:1/-1}.glossary-entry-actions .primary-button{flex:1}.chapter-translation-panel{flex-direction:column;align-items:stretch}.chapter-translation-panel form,.chapter-translation-panel .primary-button{width:100%}.novel-details-hero{grid-template-columns:100px minmax(0,1fr);gap:20px 18px;margin-top:24px;padding-bottom:28px}.novel-details-cover,.novel-cover-button{width:100%}.image-lightbox-frame{padding:44px 16px 16px}.novel-details-copy{padding-top:0}.novel-details-copy h1{overflow-wrap:anywhere;margin-top:8px;font-size:clamp(1.7rem,7vw,2.4rem)}.novel-cover{grid-row:1}.novel-details-description,.novel-reading-actions{grid-column:1/-1}.novel-details-author{font-size:.88rem}.novel-continue-button{padding-inline:14px}.metadata-repair-notice{grid-template-columns:auto minmax(0,1fr)}.metadata-repair-button{grid-column:1/-1;width:100%}.novel-metadata-row{align-items:flex-start}.novel-reading-actions{justify-content:space-between}.novel-reading-tools{flex:1 0 auto;justify-content:space-between}.imported-chapters-section{padding-top:32px}.imported-chapters-section>header{flex-direction:column;align-items:start}.imported-chapters-section h2{font-size:1.35rem;line-height:1.25}.chapter-reader-article{margin-top:24px}.chapter-reader-content{padding-top:24px}.reader-typography-dialog{overscroll-behavior:contain;border-radius:calc(var(--radius) + 4px) calc(var(--radius) + 4px) 0 0;width:100%;max-width:100%;max-height:55dvh;padding-bottom:env(safe-area-inset-bottom);opacity:1;transition:display .2s allow-discrete, overlay .2s allow-discrete, transform .2s var(--ease-drawer);border-width:1px 0 0;inset:auto 0 0;transform:translateY(100%)}.reader-typography-dialog[open]{transition:display .3s allow-discrete, overlay .3s allow-discrete, transform .3s var(--ease-drawer);transform:none}@starting-style{.reader-typography-dialog[open]{opacity:1;transform:translateY(100%)}}.reader-typography-heading{padding:16px 20px 14px}.reader-typography-heading h2{font-size:1.3rem}.reader-typography-fields{gap:18px;padding:18px 20px}.reader-typography-footer{padding-left:20px;padding-right:20px}.chapter-reader-navigation{gap:12px}.library-heading{align-items:flex-start;gap:12px;min-height:0;margin-bottom:18px}.heading-actions{margin-top:0}.heading-actions .primary-button{gap:8px;min-height:40px;padding-inline:12px}.heading-actions .add-novel-label-detail{display:none}.search-control{grid-column:1}.view-switch{grid-area:1/2;justify-self:end}.novel-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.add-dialog-form{padding:32px 22px 24px}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}@media (width<=23.75em){.novel-details-hero{grid-template-columns:minmax(0,1fr)}.novel-cover{width:96px}.novel-details-copy{grid-column:1}}@media (hover:hover) and (pointer:fine){:root[data-theme=dark] .settings-navigation a:hover{background:color-mix(in srgb, var(--accent-deep) 9%, transparent)}}.reader-chapter-picker{border:0;border-left:1px solid var(--line);background:var(--paper);width:min(440px,100% - 24px);max-width:100%;height:100dvh;max-height:100dvh;color:var(--ink);transition:display .2s allow-discrete, overlay .2s allow-discrete, transform .2s var(--ease-drawer);margin:0;padding:0;position:fixed;inset:0 0 0 auto;transform:translate(100%)}.reader-chapter-picker[open]{transition:display .3s allow-discrete, overlay .3s allow-discrete, transform .3s var(--ease-drawer);flex-direction:column;display:flex;transform:translate(0)}@starting-style{.reader-chapter-picker[open]{transform:translate(100%)}}.reader-chapter-picker::backdrop{opacity:0;transition:display .3s allow-discrete, overlay .3s allow-discrete, opacity .2s ease;background:#17151b1f}.reader-chapter-picker[open]::backdrop{opacity:1}@starting-style{.reader-chapter-picker[open]::backdrop{opacity:0}}.reader-chapter-picker>header{padding:calc(16px + env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) 16px 20px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.reader-chapter-picker h2{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:650}.reader-chapters-list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:0 20px;list-style:none;overflow-y:auto}.reader-chapters-list a{border-bottom:1px solid var(--line-soft);color:var(--ink);overflow-wrap:anywhere;gap:4px;padding:14px 8px;text-decoration:none;display:grid}.reader-chapters-list a[aria-current]{background:var(--accent-wash);color:var(--accent-deep)}.reader-chapters-list a:focus-visible{outline-offset:-2px}@media (hover:hover){.reader-chapters-list a:not([aria-current]):hover{color:var(--accent-deep)}}.reader-chapters-list span{color:var(--muted);font-size:.8rem}.reader-chapter-picker>footer{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.reader-chapters-message{padding:20px}.chapter-edit-page{max-width:calc(var(--reader-measure,680px) + 48px);overflow-anchor:none;margin:0 auto;padding:2rem 24px 5rem}@media (width<=56.25em){.chapter-edit-page{padding-inline:calc(12px + var(--reader-side-inset,8px))}}.chapter-edit-page>header{margin-top:28px}.chapter-edit-page>header h1{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(1.85rem,3.5vw,2.8rem);line-height:1.1}.chapter-edit-page>header p{color:var(--muted)}.chapter-edit-page label{margin-top:1rem;display:block}.chapter-edit-page select,.chapter-edit-page input{width:100%;max-width:100%;padding:.65rem}.chapter-edit-draft{box-sizing:border-box;width:100%;min-height:55vh;color:inherit;font-family:var(--reader-font-family,var(--font-body));font-weight:var(--reader-font-weight,400);font-synthesis:var(--reader-font-synthesis,none);font-size:var(--reader-font-size,18px);line-height:var(--reader-line-spacing,1.6);resize:none;background:0 0;border:0;border-radius:0;padding:28px 0 48px;display:block;overflow:hidden}:root[data-theme=dark]:has(.chapter-reader-page){background:var(--paper)}:root[data-theme=dark]:has(.shared-reader-page){background:var(--paper)}:root[data-theme=dark]:has(.chapter-edit-page){background:var(--paper)}:root[data-theme=dark] body:has(.chapter-reader-page){background:var(--paper)}:root[data-theme=dark] body:has(.shared-reader-page){background:var(--paper)}:root[data-theme=dark] body:has(.chapter-edit-page){background:var(--paper)}:root[data-theme=dark] .chapter-reader-content,:root[data-theme=dark] .shared-reader-content,:root[data-theme=dark] .chapter-edit-draft{color:color-mix(in srgb, var(--ink) 86%, var(--paper))}.chapter-edit-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin:1rem 0;display:flex}.chapter-edit-page>.chapter-edit-actions{z-index:10;background:var(--cream);border-bottom:1px solid var(--line);padding:12px 0;position:sticky;top:0}.chapter-edit-preview{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid;border-radius:.5rem;max-height:28rem;padding:1rem;overflow:auto}.chapter-edit-regenerate{margin-top:2rem;scroll-margin-top:150px}.chapter-edit-passages{min-inline-size:0}.chapter-edit-passages label{cursor:pointer;align-items:flex-start;gap:.75rem;min-height:44px;display:flex}.chapter-edit-passages input[type=radio]{width:auto;margin-top:1rem}.chapter-edit-passages .chapter-edit-preview{flex:1;min-width:0;display:block}.chapter-glossary-dialog{width:min(960px,100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}.chapter-glossary-content{min-width:0}.chapter-glossary-content .glossary-heading{padding:0 0 16px}.chapter-glossary-content .glossary-heading>p,.chapter-glossary-content .glossary-tabs{margin-top:8px}.chapter-glossary-title{gap:2px;display:grid}.chapter-glossary-title>p{color:var(--muted);margin:0;font-size:.85rem}.chapter-glossary-tab-row{gap:16px;margin-top:8px;display:grid}.chapter-glossary-tab-row .glossary-tabs{margin-top:0}.chapter-glossary-content .glossary-entries h2{font-size:1.6rem}.chapter-glossary-content .glossary-entry-arrow{justify-self:center}.chapter-glossary-scan{align-items:center;gap:10px;display:flex}.chapter-glossary-scan>p{color:var(--muted);flex-basis:100%;order:1;margin:0;font-size:.88rem;line-height:1.45}.chapter-glossary-scan .glossary-header-actions{margin-block:0;flex-shrink:0;margin-left:auto}.chapter-glossary-scan .secondary-button{min-height:38px}@media (width<=35em){.chapter-glossary-scan .glossary-header-actions{flex-direction:row;align-items:center;width:auto}.chapter-glossary-scan .glossary-header-actions>button{min-height:42px;padding-inline:12px}}@media (width<=21.25em){.chapter-glossary-scan .glossary-header-actions>button{min-height:40px;font-size:.8rem}}.glossary-new-field{position:relative}.glossary-new-field input:not([type=hidden]){padding-right:48px}.glossary-new-marker{color:var(--accent-dark);font-size:.72rem;font-weight:650;line-height:1;position:absolute;bottom:10px;right:10px}.glossary-entry-list>:has(.glossary-new-field){background:color-mix(in srgb, var(--accent-color) 5%, transparent)}.scroll-area{min-width:0;position:relative}.scroll-area-viewport{overflow-y:auto}.scroll-area-cue{background:linear-gradient(transparent, var(--paper) 65%);height:48px;color:var(--muted);pointer-events:none;justify-content:center;align-items:flex-end;gap:4px;padding:0 12px 8px;font-size:.75rem;line-height:16px;display:flex;position:absolute;inset:auto 0 0}.scroll-area-cue svg{margin-bottom:1px}.character-picker-dialog-scroll>.scroll-area-viewport{max-height:calc(100dvh - 34px)}.character-picker-dialog-scroll .add-dialog-form{max-height:none;overflow:visible}.character-picker-dialog{width:min(1060px,100% - 32px)}.glossary-character-dialog>.dialog-close{z-index:1;background:var(--paper)}.character-picker-tabs.glossary-tabs{margin:0 0 24px}.character-picker-chapter{gap:8px;margin-bottom:18px;display:grid}.character-picker-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;display:grid}.character-picker-layout.has-selection{grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.character-picker-reading{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:0;overflow:hidden}.character-picker-search{padding:20px}.character-picker-search>label{color:var(--ink);margin-bottom:10px;font-size:1rem;font-weight:650;display:block}.character-picker-search-field{border:1px solid var(--accent-deep);border-radius:var(--radius);background:var(--accent-wash);color:var(--accent-deep);align-items:center;gap:12px;padding:0 16px;display:flex}.character-picker-search-field:focus-within{outline:2px solid var(--accent-soft);outline-offset:3px}.character-picker-search input{width:100%;min-width:0;min-height:54px;color:var(--ink);font:inherit;background:0 0;border:0;font-size:1rem}.character-picker-search input:focus-visible{outline:none}.character-picker-occurrences{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;font-size:.8rem;display:flex}.character-picker-occurrences button{border:1px solid var(--line);border-radius:var(--radius);width:36px;height:36px;color:var(--ink);background:var(--paper);cursor:pointer;place-items:center;display:grid}.character-picker-occurrences button:disabled{opacity:.45;cursor:default}.character-picker-prose{overscroll-behavior:contain;max-height:min(52dvh,560px);font-family:var(--font-body);-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;padding:8px 24px;font-size:1.04rem;line-height:1.85;overflow-y:auto}.character-picker-prose p{white-space:pre-wrap;margin:16px 0}.character-picker-prose mark{color:var(--ink);background:var(--accent-pale)}.character-picker-prose ::selection{color:var(--ink);background:var(--accent-pale)}.character-picker-result{overflow-wrap:anywhere;min-width:0;padding:4px 0}.character-picker-result h3{font-family:var(--font-display);letter-spacing:-.02em;margin:12px 0;font-size:1.7rem}.character-picker-result p{color:var(--muted);font-size:.9rem;line-height:1.6}.character-picker-result>.primary-button,.character-picker-result>.secondary-button{gap:8px;width:100%;min-height:44px}.character-picker-result .dropdown-select-popover[inert]{display:none}.character-picker-result .glossary-entry-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.character-picker-result .glossary-entry-actions{grid-column:2}.character-picker-result .glossary-form-error{grid-column:1/-1}.character-picker-candidates{border:0;gap:10px;margin:12px 0 0;padding:0;display:grid}.character-picker-candidates>label{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;padding:14px;display:flex}.character-picker-candidates>label:has(input:checked){border-color:var(--accent-soft);background:var(--accent-wash)}.character-picker-candidates input{accent-color:var(--accent-deep);flex:none;margin-top:5px}.character-picker-candidates q{quotes:none;color:var(--muted);white-space:pre-wrap;margin-top:8px;font-size:.85rem;line-height:1.65;display:block}.character-picker-evidence{border-left:2px solid var(--line);color:var(--muted);white-space:pre-wrap;margin:12px 0 20px;padding-left:14px;font-size:.85rem;line-height:1.6}.character-picker-text-button{color:var(--accent-deep);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:12px 0 0;font-size:.82rem}.character-picker-loading{color:var(--muted);text-align:center;padding:48px 0}.character-picker-loading p{justify-content:center;align-items:center;gap:10px;display:flex}@media (width<=45em){.character-picker-layout,.character-picker-layout.has-selection{grid-template-columns:minmax(0,1fr);gap:20px}.character-picker-prose{max-height:32dvh;padding-inline:18px}.character-picker-result{padding:0}.character-picker-result .glossary-entry-form{grid-template-columns:minmax(0,1fr)}.character-picker-result .glossary-entry-actions{grid-column:1}}.character-picker-passages>.scroll-area-viewport{max-height:42dvh}.character-picker-passages-content{flex-direction:column;gap:10px;padding:16px;display:flex}.character-picker-passages-content>button{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-height:64px;color:var(--ink);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;gap:8px;padding:14px;line-height:1.6;display:grid}.character-picker-passages-content>button[aria-pressed=true]{border-color:var(--accent-soft);background:var(--accent-wash)}.character-picker-passages mark{background:var(--accent-pale);color:var(--ink)}.character-picker-passages-content>p{color:var(--muted);margin:0;padding:20px;font-size:.9rem;line-height:1.6}.character-picker-browse{border-top:1px solid var(--line)}.character-picker-browse>summary{color:var(--muted);cursor:pointer;padding:16px;font-size:.85rem}.settings-section h3{scroll-margin-top:24px}.add-dialog-panel>.import-connection-help{text-align:left;margin:12px 0 0;font-size:.88rem}.import-connection-help a{color:var(--accent-dark);text-underline-offset:3px}@media (width<=50em){.settings-mobile-navigation{margin-bottom:18px}.settings-section{gap:16px;padding-block:22px}}@media (width<=35em){.chapter-reader-page,.shared-reader-page{width:calc(100% - 24px)}}.novel-metadata-row{flex-wrap:wrap}.novel-watch-control{flex-wrap:wrap;flex:100%}.novel-watch-label-button{border-radius:var(--radius);gap:7px;width:auto;height:auto;min-height:40px;padding:6px 10px;font-size:.88rem;display:inline-flex}.novel-watch-notice-button{border:1px solid var(--accent-soft);background:var(--accent-wash);min-height:40px;color:var(--accent-dark);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-size:.88rem;font-weight:620;display:inline-flex}@media (hover:hover) and (pointer:fine){.novel-watch-notice-button:hover:not(:disabled){border-color:var(--accent-dark)}}.novel-watch-notice-button:disabled{cursor:default;opacity:.55}.novel-watch-toggle{gap:7px;min-height:40px;padding:0 14px;font-size:.88rem}.novel-watch-intro-dialog p{color:var(--muted);margin:0 0 14px;line-height:1.5}.novel-watch-intro-dialog p:last-of-type{margin-bottom:0}.novel-watch-intro-dialog a{color:var(--accent-dark);text-underline-offset:3px}.reader-quality-dialog{text-align:left}.reader-quality-dialog .add-dialog-form{padding:32px}.reader-quality-dialog-icon{background:var(--accent-wash);width:42px;height:42px;color:var(--accent-dark);border-radius:12px;place-items:center;display:grid}.reader-quality-dialog h2{margin:18px 0 8px;font-size:1.65rem;line-height:1.12}.reader-quality-dialog p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.reader-quality-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.reader-quality-card{border:1px solid var(--line);border-radius:10px;padding:15px}.reader-quality-card-enhanced{border-color:color-mix(in srgb, var(--accent-deep) 30%, var(--line));background:var(--accent-wash)}.reader-quality-card h3{font-family:var(--font-display);margin:0 0 14px;font-size:1rem}.reader-quality-card dl{gap:12px;margin:0;display:grid}.reader-quality-card dl>div{gap:2px;display:grid}.reader-quality-card dt{color:var(--muted);font-size:.7rem}.reader-quality-card dd{color:var(--ink);margin:0;font-size:1.2rem;font-weight:700}.reader-quality-dialog .translation-quality-note{margin-top:17px;font-size:.78rem}@media (width<=30em){.reader-quality-dialog .add-dialog-form{padding:24px}}.glossary-entries-with-scan{padding-top:16px}.glossary-entries-with-scan>.chapter-glossary-scan{flex-wrap:wrap;margin-bottom:22px}.chapter-glossary-scan .glossary-search-control{cursor:text;flex:1 1 0;width:auto;min-width:0;max-width:none}.chapter-glossary-scan .glossary-search-control input,.chapter-glossary-scan .glossary-search-control input:focus-visible{min-height:0;box-shadow:none;background:0 0;border:0;padding:0}.glossary-result-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.88rem}@media (width<=35em){.glossary-entries-with-scan>.chapter-glossary-scan{gap:10px}.chapter-glossary-scan .glossary-search-control{gap:8px;min-height:42px}.chapter-glossary-scan .glossary-search-control input,.chapter-glossary-scan .glossary-header-actions>button{font-size:.85rem}.glossary-entries-with-scan>header .glossary-header-actions{flex-flow:wrap;justify-content:space-between;align-items:center}.glossary-entries-with-scan>header .glossary-header-actions>button{width:auto}}@media (width<=21.25em){.glossary-entries-with-scan>header .glossary-header-actions{justify-content:center}.glossary-entries-with-scan>header .glossary-result-count{text-align:center;flex-basis:100%}}.shelf-toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 22px;display:flex}.shelf-toolbar-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.shelf-toolbar-pages{border-left:1px solid var(--line-soft);margin-left:8px;padding-left:12px}.library-title .library-summary{clip-path:inset(-4px -4px -4px 16px);gap:4px 0;min-width:0;margin:0 0 0 -16px}.library-title .library-summary>*{padding-left:16px;position:relative}.library-title .library-summary>:before{color:var(--muted);content:"·";margin:0;position:absolute;left:6px}.library-summary-link{color:var(--accent-dark);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:none}.library-summary-link:before{color:var(--muted);content:"·";margin-right:10px}@media (hover:hover) and (pointer:fine){.library-summary-link:hover{text-underline-offset:2px;text-decoration:underline}}.search-control.shelf-search{background:var(--paper);flex:0 360px;min-width:220px;min-height:40px;margin:0}.library-filter{position:relative}.library-filter-button{border-radius:var(--radius);min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:0 12px;font-size:.875rem;font-weight:500;transition:background-color .14s;display:inline-flex}.library-filter-button[aria-expanded=true]{background:var(--accent-wash)}@media (hover:hover) and (pointer:fine){.library-filter-button:hover{background:var(--accent-wash)}}.recently-read{margin:4px 0 22px}.recently-read h2{color:var(--muted);font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:650}.recently-read ul{scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;margin:0 -4px;padding:0 4px;list-style:none;display:flex;overflow-x:auto}.recently-read ul::-webkit-scrollbar{display:none}.recently-read li{scroll-snap-align:start;flex:none}.recently-read-link{border:1px solid var(--line-soft);border-radius:var(--radius);width:220px;color:var(--ink);grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;padding:6px 10px 6px 6px;text-decoration:none;transition:border-color .13s,background-color .13s;display:grid}.recently-read-link:focus-visible{outline:2px solid var(--accent-deep);outline-offset:1px}@media (hover:hover) and (pointer:fine){.recently-read-link:hover{border-color:var(--line);background:var(--accent-wash)}}.recently-read-cover{border:1px solid var(--line);object-fit:cover;border-radius:2px;width:40px;height:58px;display:block}.recently-read-copy{gap:2px;min-width:0;display:grid}.recently-read-title{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.86rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.recently-read-chapter{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.library-filter-count{background:var(--accent-deep);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:650;display:inline-grid}.library-filter-panel{z-index:30;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);opacity:0;pointer-events:none;transform-origin:100% 0;width:300px;max-width:calc(100vw - 32px);transition:opacity .14s var(--ease-out), transform .14s var(--ease-out);gap:10px;padding:14px;display:grid;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-4px)scale(.98);box-shadow:0 14px 35px #17151b29}.library-filter-panel-open{opacity:1;pointer-events:auto;transform:none}@media (width<=45em){.library-filter-panel{transform-origin:0 0;left:0;right:auto}}.library-filter-field{min-inline-size:0;color:var(--muted);border:0;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;margin:0;padding:0;font-size:.84rem;display:grid}.library-filter-field .dropdown-select-button{width:100%;min-height:36px}.library-filter-field .dropdown-select-popover{width:max-content;min-width:100%;left:auto;right:0}.library-filter-view{display:flex}.library-filter-view>legend{float:left;flex:0 0 58px;padding:0}.library-filter-segments{border:1px solid var(--line);border-radius:var(--radius);flex:auto;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.library-filter-segments button+button{border-left:1px solid var(--line)}.library-filter-segments button,.library-filter-toggle{min-height:34px;color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:.84rem;display:inline-flex}.library-filter-actions{border-top:1px solid var(--line-soft);gap:8px;padding:10px 0 0;display:flex}.library-filter-toggle{border:1px solid var(--line);border-radius:var(--radius);flex:1 1 0}.library-filter-segments button[aria-pressed=true],.library-filter-toggle[aria-pressed=true]{background:var(--accent-wash);color:var(--accent-dark)}.library-filter-toggle[aria-pressed=true] svg{fill:currentColor}@media (hover:hover) and (pointer:fine){.library-filter-segments button:hover,.library-filter-toggle:hover{background:var(--accent-wash)}}.shelf-list{border-top:1px solid var(--line-soft);max-width:60rem;margin:0;padding:0;list-style:none}.shelf-row{border-bottom:1px solid var(--line-soft);grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;transition:background-color .13s;display:grid;position:relative}@media (hover:hover) and (pointer:fine){.shelf-row:hover{background:color-mix(in srgb, var(--paper) 70%, transparent)}}.shelf-cover-shell,.shelf-tile-cover{z-index:1;display:block;position:relative}.shelf-cover-shell>a{display:block}.shelf-cover{border:1px solid var(--line);object-fit:cover;border-radius:2px;width:56px;height:80px;display:block;box-shadow:0 2px 6px #17151b14}.shelf-progress{background:var(--progress-track);border-radius:1px;height:2px;margin-top:6px;display:block;overflow:hidden}.shelf-progress>span{background:var(--accent-deep);height:100%;display:block}.shelf-pinned-mark{background:var(--accent-deep);clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);width:10px;height:16px;position:absolute;top:-2px;right:6px}.shelf-open{min-width:0;color:var(--ink);gap:3px;text-decoration:none;display:grid}.shelf-open:after{border-radius:var(--radius);content:"";position:absolute;inset:0}.shelf-open:focus-visible{outline:0}.shelf-open:focus-visible:after{outline:2px solid var(--accent-deep);outline-offset:-2px}.shelf-title{min-width:0;font-family:var(--font-display);align-items:center;gap:7px;font-size:1.05rem;font-weight:620;line-height:1.25;display:flex}.shelf-author,.shelf-status{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shelf-title-text{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shelf-author{color:var(--muted);font-size:.86rem}.shelf-status{color:var(--muted);margin-top:3px;font-size:.8rem}.shelf-status-new{color:var(--accent-dark);font-weight:600}.shelf-status-problem{color:var(--danger);font-weight:400}.shelf-watch-bell{flex:none;margin:0 5px -2px 0;display:inline-block}.shelf-attention{color:var(--warning);align-items:center;gap:5px;font-size:.75rem;font-weight:650;display:inline-flex}.shelf-row>.novel-actions,.shelf-tile>.novel-actions{z-index:1;position:relative}:is(.shelf-row>.novel-actions:has(.novel-actions-popover-open),.shelf-tile>.novel-actions:has(.novel-actions-popover-open)){z-index:3}.app-shell[data-density=compact] .shelf-row{grid-template-columns:42px minmax(0,1fr) auto;gap:14px;padding-block:8px}.app-shell[data-density=compact] .shelf-cover{width:42px;height:60px}.novel-gallery.shelf-gallery{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:30px 24px;margin:24px 0 0;padding:0;list-style:none}.shelf-tile{align-content:start;gap:6px;min-width:0;display:grid;position:relative;container-type:inline-size}.shelf-tile-link{color:var(--ink);gap:8px;text-decoration:none;display:grid}.shelf-tile-cover .gallery-cover{box-shadow:0 3px 10px #17151b1a}.shelf-tile-cover .shelf-pinned-mark{width:14px;height:22px;right:10px}.shelf-tile-title{-webkit-line-clamp:3;line-clamp:3;font-family:var(--font-display);overflow-wrap:anywhere;-webkit-box-orient:vertical;padding-right:28px;font-size:.92rem;font-weight:620;line-height:1.2;display:-webkit-box;overflow:hidden}.shelf-tile-watch{color:var(--muted);align-items:flex-start;margin-top:-3px;padding-right:28px;font-size:.76rem;line-height:1.3;display:flex}.shelf-tile-watch .shelf-watch-bell{margin:.15em 5px 0 0}.shelf-tile-watch-new{color:var(--accent-dark);font-weight:650}.shelf-tile-link:focus-visible{outline:0}.shelf-tile-link:focus-visible .gallery-cover{outline:2px solid var(--accent-deep);outline-offset:2px}.shelf-tile>.novel-actions{position:absolute;top:calc(150cqw + 9px);right:-8px}.library-selecting .shelf-row,.library-selecting .shelf-tile{cursor:pointer;-webkit-user-select:none;user-select:none}.shelf-tile-shared{z-index:1;position:absolute;top:6px;left:6px}.shelf-tile-shared>.shared-novel-indicator{background:color-mix(in srgb, var(--paper) 90%, transparent);border-radius:999px;place-items:center;width:28px;height:28px;display:inline-grid;box-shadow:0 1px 4px #17151b2e}@media (hover:hover) and (pointer:fine){.shelf-tile>.novel-actions .novel-actions-trigger{opacity:0;transition:opacity .12s}.shelf-tile:hover>.novel-actions .novel-actions-trigger,.shelf-tile:focus-within>.novel-actions .novel-actions-trigger,.shelf-tile>.novel-actions .novel-actions-trigger[aria-expanded=true]{opacity:1}.shelf-tile-link:hover .shelf-tile-title{color:var(--accent-dark)}}.novel-actions-popover hr{background:var(--line-soft);border:0;height:1px;margin:4px 6px}@media (width<=35em){.shelf-row{gap:14px;padding:12px 0}.shelf-title{font-size:1rem}.novel-gallery.shelf-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px;margin-top:16px}.shelf-tile-title{padding-right:22px;font-size:.8rem}.shelf-tile-watch{padding-right:22px;font-size:.72rem}.shelf-tile>.novel-actions{top:calc(150cqw + 4px);right:-11px}}.novel-gallery a,.shelf-list a{-webkit-touch-callout:none}.library-item-selected{border-color:color-mix(in srgb, var(--accent-color) 45%, transparent);background:var(--accent-wash)}.gallery-cover{transition:scale .18s var(--ease-out)}.library-item-selected .gallery-cover{scale:.94}.library-selection-check{z-index:1;color:#0000;cursor:pointer;background:#17151b4d;border:2px solid #fff;border-radius:999px;place-items:center;width:30px;height:30px;padding:0;transition:background-color .12s,color .12s;display:grid;position:absolute;top:8px;left:8px;box-shadow:0 1px 4px #17151b4d}.shelf-row>.library-selection-check{z-index:2;top:50%;left:13px;translate:0 -50%}.library-selection-check[aria-pressed=true]{background:var(--accent-color);color:#fff}.library-selection-bar{z-index:20;bottom:calc(20px + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);width:max-content;max-width:calc(100% - 24px);box-shadow:var(--shadow-soft);animation:library-selection-bar-in .22s var(--ease-out);align-items:center;gap:18px;padding:8px 8px 8px 6px;display:flex;position:fixed;left:50%;translate:-50%}@keyframes library-selection-bar-in{0%{opacity:0;translate:-50% 16px}}.library-selection-summary,.library-selection-actions{align-items:center;gap:8px;display:flex}.library-selection-summary strong{font-family:var(--font-display);white-space:nowrap;font-weight:600}.library-selection-toggle-all{color:var(--accent-dark);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:6px 8px;font-weight:600}.library-selection-actions .primary-button,.library-selection-actions .secondary-button,.library-selection-actions .danger-button{white-space:nowrap;gap:8px;min-height:42px;padding-inline:16px}.library-page:has(.library-selection-bar){padding-bottom:calc(110px + env(safe-area-inset-bottom))}@media (width<=35em){.library-selection-bar{width:auto;max-width:none;padding:6px 12px calc(12px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-width:1px 0 0;flex-direction:column;align-items:stretch;gap:6px;animation-name:library-selection-sheet-in;bottom:0;left:0;right:0;translate:none}.library-selection-summary strong,.library-selection-actions>button{flex:1}}@keyframes library-selection-sheet-in{0%{translate:0 100%}}@media (prefers-reduced-motion:reduce){.library-selection-bar{animation:none}}
