*{box-sizing:border-box}html{font-size:var(--text-base);scroll-padding-top:6rem}body.app-2026{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:400 1rem/1.55 var(--font-text)}a{color:var(--accent);text-underline-offset:.18em}button,input{font:inherit}
.shell-header{position:sticky;z-index:30;top:0;border-bottom:1px solid var(--rule);background:var(--surface)}.shell-header__inner,.shell-main,.shell-footer__inner{width:min(76rem,calc(100% - 2rem));margin-inline:auto}.shell-header__inner{min-height:4.75rem;display:flex;align-items:center;gap:clamp(.75rem,2vw,1.5rem)}.shell-brand{display:flex;align-items:center;flex:0 0 auto}.shell-brand img{display:block;width:clamp(8.5rem,15vw,12rem);height:auto}.shell-brand__dark{display:none!important}[data-mode-resolved="dark"] .shell-brand__light{display:none}[data-mode-resolved="dark"] .shell-brand__dark{display:block!important}.shell-nav{display:flex;align-items:center;gap:.4rem;margin-left:auto}.shell-nav>a,.shell-menu>summary{min-height:44px;display:inline-flex;align-items:center;padding:.45rem .7rem;border-radius:var(--radius-control);color:var(--ink);text-decoration:none;cursor:pointer}.shell-nav>a[aria-current="page"]{box-shadow:inset 0 -3px var(--accent)}
.shell-credit{display:grid;padding:.3rem .75rem;border-left:1px solid var(--rule);font-family:var(--font-mono);font-size:.82rem;line-height:1.3;font-variant-numeric:tabular-nums}.shell-credit strong{font-size:1rem}.shell-credit a{font-family:var(--font-text)}.shell-menu{position:relative}.shell-menu>summary{list-style:none}.shell-menu>summary::-webkit-details-marker{display:none}.shell-menu[open]>summary{background:var(--surface-2)}.shell-menu__panel{position:absolute;right:0;top:calc(100% + .35rem);min-width:15rem;padding:.7rem;border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-1)}
.shell-account-menu>summary{display:grid!important;align-content:center;line-height:1.2}.shell-account-email{display:block;max-width:16rem;overflow:hidden;color:var(--ink-soft);font-family:var(--font-mono);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.shell-account-panel{display:grid;gap:.65rem;min-width:19rem}.shell-account-panel>strong{overflow-wrap:anywhere}.shell-account-panel dl{display:grid;gap:.35rem;margin:0}.shell-account-panel dl div{display:flex;justify-content:space-between;gap:1rem}.shell-account-panel dt{color:var(--ink-soft)}.shell-account-panel dd{margin:0;font-family:var(--font-mono)}.shell-account-panel>a,.shell-account-panel button{display:flex;align-items:center;min-height:44px;padding:.45rem .6rem;border:1px solid var(--rule);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;text-decoration:none;cursor:pointer}.shell-account-panel form{margin:0}.shell-account-panel button{width:100%}
.ui-mode-switcher{display:grid;gap:.35rem}.ui-mode-switcher__label{color:var(--ink-soft);font-size:.8rem}.ui-mode-switcher__buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem}.ui-mode-switcher button,.segmented button{min-height:40px;border:1px solid var(--rule);border-radius:var(--radius-control);background:transparent;color:var(--ink);cursor:pointer;padding:.4rem .55rem}.ui-mode-switcher button[aria-pressed="true"],.segmented button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}
.shell-main{flex:1;padding-block:clamp(2rem,5vw,4rem)}.shell-footer{margin-top:auto;border-top:1px solid var(--rule);background:var(--surface)}.shell-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.25rem;color:var(--ink-soft);font-size:.86rem}.shell-footer nav{display:flex;flex-wrap:wrap;gap:1rem}
/* The editor still loads Materialize for legacy form widgets. Neutralize its global nav skin so the shared shell remains token-driven. */
.shell-header .shell-nav,.shell-footer nav{width:auto;height:auto;background:transparent;box-shadow:none;color:inherit;line-height:inherit}
.page-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-heading h1,.empty-state h2,.book-item h2,.appearance-panel h1{font-family:var(--font-display);line-height:1.15}.page-heading h1{margin:0;font-size:clamp(2.2rem,5vw,3.5rem)}.page-heading p{margin:.45rem 0 0;color:var(--ink-soft)}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none;cursor:pointer}.button--quiet{background:transparent;color:var(--ink);border-color:var(--rule)}.button--danger{background:transparent;color:var(--danger);border-color:var(--danger)}.notice{padding:1rem;border-left:4px solid var(--danger);background:var(--surface);color:var(--danger)}
.book-list{display:grid;margin:0;padding:0;border-top:1px solid var(--rule);list-style:none}.book-item{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:clamp(1rem,3vw,2rem);padding-block:1.5rem;border-bottom:1px solid var(--rule)}.book-cover{width:7rem;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--rule);background:var(--surface-2)}.book-item__top{display:flex;align-items:start;justify-content:space-between;gap:1rem}.book-item h2{margin:0;color:var(--ink);font-size:clamp(1.35rem,3vw,1.7rem)}.book-facts{margin:.45rem 0;color:var(--ink-soft);font-family:var(--font-mono);font-size:.82rem;font-variant-numeric:tabular-nums}.status{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;font-weight:600}.status::before{width:.7rem;height:.7rem;border:2px solid currentColor;border-radius:50%;content:""}.status--running{color:var(--accent)}.status--completed{color:var(--success)}.status--failed{color:var(--danger)}.book-progress,.book-cost{margin:.35rem 0;color:var(--ink-soft)}.book-progress{color:var(--ink)}.book-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.book-actions a,.book-actions button{min-height:40px;padding:.35rem .6rem;border:1px solid var(--rule);border-radius:var(--radius-control);background:transparent;color:var(--ink);text-decoration:none;cursor:pointer}.book-actions a:first-child{border-color:var(--accent);color:var(--accent);font-weight:600}.book-delete-error{min-height:1.4em;color:var(--danger);font-size:.85rem}
.empty-state{max-width:44rem;padding:clamp(1.5rem,5vw,3rem);border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-1)}.empty-state h2{margin-top:0;font-size:clamp(1.8rem,4vw,2.7rem)}.empty-state ol{margin:1.5rem 0;padding-left:1.6rem}.empty-state small{display:block;margin-top:1rem;color:var(--ink-soft)}
.folder-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;color:var(--ink-soft);font-size:.9rem}.folder-breadcrumbs a{color:inherit}.folder-breadcrumbs [aria-current="page"]{color:var(--ink);font-weight:600;text-decoration:none}.folder-page-heading{margin-bottom:1.25rem}.books-workspace{display:grid;grid-template-columns:minmax(12rem,15rem) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:start}.folder-sidebar{position:sticky;top:6rem;max-height:calc(100vh - 7rem);overflow:auto;border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--surface)}.folder-sidebar__heading{display:flex;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;border-bottom:1px solid var(--rule)}.folder-sidebar__heading span,.folder-tree a>span:last-child,.folder-tree summary>span:last-child{color:var(--ink-soft);font-family:var(--font-mono);font-size:.78rem;font-variant-numeric:tabular-nums}.folder-tree{padding:.5rem}.folder-tree a,.folder-tree summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:40px;padding:.45rem .55rem;border-radius:var(--radius-control);color:var(--ink);text-decoration:none;cursor:pointer}.folder-tree a:hover,.folder-tree summary:hover{background:var(--surface-2)}.folder-tree .is-active{background:var(--accent);color:var(--accent-ink)}.folder-tree .is-active>span:last-child{color:inherit}.folder-tree__branch>summary{list-style-position:inside}.folder-tree__node{margin-top:.15rem}.folder-tree__branch>.folder-tree__node{font-size:.85rem}.folder-tree__children{margin-left:.85rem;padding-left:.35rem;border-left:1px solid var(--rule)}.folder-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem}.folder-toolbar .button{font-size:.9rem}.folder-toolbar button:disabled{opacity:.45;cursor:not-allowed}.folder-move-label,.book-folder-select{display:inline-grid;gap:.2rem;color:var(--ink-soft);font-size:.78rem}.folder-move-label select,.book-folder-select select{min-height:40px;max-width:15rem;padding:.35rem .55rem;border:1px solid var(--rule);border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}.include-descendants{display:flex;align-items:center;gap:.55rem;min-height:44px;margin-bottom:.5rem;color:var(--ink-soft)}.include-descendants input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}.mobile-folder-level{display:none}.folder-empty-state{margin-top:1rem}.folder-empty-state p{color:var(--ink-soft)}.folder-notice{margin-top:0}.folder-notice.notice--success{border-color:var(--success);color:var(--success)}
.appearance-panel{padding:clamp(1.25rem,4vw,2.5rem);border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--surface)}.appearance-panel>p{color:var(--ink-soft)}.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-block:1.5rem}.theme-choice{min-width:0;padding:.45rem;border:2px solid transparent;border-radius:var(--radius-panel);background:transparent;color:var(--ink);cursor:pointer;text-align:left}.theme-choice[aria-checked="true"]{border-color:var(--focus)}.theme-preview{display:block;height:7.5rem;padding:.65rem;border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--bg);color:var(--ink);font:400 .68rem/1.3 var(--font-text)}.theme-preview__title{display:block;margin-bottom:.55rem;font:600 1rem/1.1 var(--font-display)}.theme-preview__line{display:block;width:78%;height:3px;margin:.38rem 0;background:var(--rule)}.theme-preview__button{display:inline-block;margin-top:.45rem;padding:.2rem .4rem;border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink)}.theme-preview__badge{float:right;color:var(--success)}.theme-name{display:block;margin-top:.4rem;text-align:center;font-weight:600}.appearance-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--rule)}.segmented{display:inline-flex;gap:.25rem}.large-text-label{display:flex;align-items:center;gap:.65rem}.large-text-label input{width:1.2rem;height:1.2rem}
.security-panel{max-width:58rem;padding:clamp(1.25rem,4vw,2.5rem);border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--surface)}.security-panel h1,.security-panel h2{font-family:var(--font-display);line-height:1.15}.security-panel h1{margin:.3rem 0;font-size:clamp(2rem,5vw,3.3rem)}.security-panel>p{color:var(--ink-soft)}.security-eyebrow{margin:0;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.security-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,18rem);gap:2rem;align-items:center;margin-block:1.5rem;padding:1.25rem;border:1px solid var(--rule);background:var(--bg)}.security-steps ol{padding-left:1.4rem}.security-steps li{margin-block:.6rem}.security-steps details{margin-top:1rem}.security-secret{display:block;margin-top:.55rem;padding:.6rem;border:1px solid var(--rule);background:var(--surface-2);overflow-wrap:anywhere}.security-qr{padding:.75rem;border:1px solid var(--rule);background:#fbf9f4}.security-qr svg{display:block;width:100%;height:auto}.security-form{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;margin-block:1.25rem}.security-form label{flex:1 0 100%;font-weight:600}.security-form input{width:min(18rem,100%);min-height:44px;padding:.55rem .7rem;border:1px solid var(--rule);border-radius:var(--radius-control);background:var(--surface-2);color:var(--ink);font:1rem var(--font-mono);letter-spacing:.12em}.security-status{display:flex;align-items:start;gap:.8rem;margin-block:1.5rem;padding:1rem;border:1px solid var(--success);background:var(--surface-2);color:var(--ink)}.security-status>span{color:var(--success);font-size:1.4rem}.security-status p{margin:.25rem 0 0;color:var(--ink-soft)}.recovery-codes{margin-block:1.5rem;padding:1.25rem;border:2px solid var(--accent);background:var(--surface-2)}.recovery-codes ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding-left:2rem}.recovery-codes code{color:var(--ink);font-size:1rem}.notice--success{border-color:var(--success);color:var(--success)}.security-regenerate{display:inline-block;margin-top:.5rem}
@media(max-width:760px){.shell-header__inner{flex-wrap:wrap;padding-block:.6rem}.shell-brand img{width:9rem}.shell-nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--rule);padding-top:.35rem}.shell-credit{margin-left:auto}.shell-menu__panel{position:fixed;top:auto;right:1rem;left:1rem}.page-heading{align-items:start;flex-direction:column}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.security-setup{grid-template-columns:minmax(0,1fr);gap:1rem}.security-qr{width:min(100%,18rem);margin-inline:auto}.books-workspace{display:block}.folder-sidebar{display:none}.mobile-folder-level{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.mobile-folder-level:empty{display:none}.folder-card{display:grid;gap:.25rem;min-height:5.5rem;padding:1rem;border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--surface);color:var(--ink);text-decoration:none}.folder-card span{color:var(--ink-soft);font-size:.82rem}.book-item{grid-template-columns:5rem minmax(0,1fr)}.book-cover{width:5rem}.book-item__top{display:block}.status{margin-top:.45rem}.shell-footer__inner{align-items:start;flex-direction:column}}
@media(max-width:430px){.shell-header__inner,.shell-main,.shell-footer__inner{width:min(100% - 1rem,76rem)}.shell-credit{padding-inline:.4rem}.shell-nav>a,.shell-menu>summary{padding-inline:.4rem}.shell-account-email{max-width:6.5rem}.mobile-folder-level{grid-template-columns:1fr}.folder-toolbar{align-items:stretch}.folder-toolbar .button,.folder-move-label,.folder-move-label select{width:100%;max-width:none}.book-item{grid-template-columns:4.25rem minmax(0,1fr);gap:.75rem}.book-cover{width:4.25rem}.book-actions{grid-column:1/-1}.book-folder-select,.book-folder-select select{width:100%;max-width:none}.theme-preview{height:6.5rem}}
