/* Shared interface typography, controls and toolbar geometry. */
:root{--body:'DM Sans',system-ui,sans-serif;--heading:var(--body);--icon:20px;--control:44px;--field-height:48px;--ui-gutter:20px;--ui-radius:24px;--ui-toolbar-top:20px}
body,button,input,textarea,select{font-family:var(--body)}body{font-size:15px;line-height:1.5}h1,h2,h3,.page-heading strong{font-family:var(--body)}.main>h1,.library-title-row h1{font-size:26px;font-weight:600;line-height:1.25;letter-spacing:-.6px}.sectiontitle,.home-books-heading h2{font-size:20px;font-weight:500;line-height:1.35;letter-spacing:-.4px}.eyebrow{font-size:10px;font-weight:600;line-height:1.5;letter-spacing:1.5px}.help,.tiny,.muted.tiny{font-size:12px;line-height:1.6}.sectiontitle{margin:28px 0 16px}.panel{padding:24px;margin-bottom:24px}.detail-title{font-size:24px;line-height:1.3;letter-spacing:-.5px}.detail-author{font-size:14px}.book-open strong,.catalog-open>strong{font-size:15px;line-height:1.35;font-weight:600}.book-open small,.catalog-open>small{font-size:12px;line-height:1.5}
.field,.reader-language select,.player-speed{font-size:16px;font-family:var(--body);line-height:1.4;min-height:var(--field-height);padding:12px 16px;border:1px solid var(--glass-edge);border-radius:var(--ui-radius);background:var(--glass-fill),var(--surface);color:var(--text);box-shadow:var(--glass-shadow);box-sizing:border-box}.field:focus-visible,.reader-language select:focus-visible,.player-speed:focus-visible{outline:2px solid var(--accent);outline-offset:3px}select.field,.reader-language select,.player-speed{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23858b9b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),var(--glass-fill);background-size:12px 12px,100% 100%;background-position:right 14px center,center;background-repeat:no-repeat;background-color:var(--surface)}select option{background:var(--surface);color:var(--text)}textarea.field{min-height:120px;border-radius:18px}.library-search,.catalog-filter{height:var(--field-height);min-height:var(--field-height);border-radius:var(--ui-radius);font-size:14px}.catalog-search-row{gap:12px}.catalog-search-row .library-search .field{height:46px;min-height:46px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;font-size:16px}.reader-language{margin:16px 0 24px;gap:8px;max-width:440px}.reader-language select{height:var(--field-height);min-height:var(--field-height);font-size:16px;padding:0 26px 0 12px;background-position:right 9px center,center}.reader-language label{font-size:12px}.full-player .player-speed{min-height:44px;height:44px;font-size:14px;padding:0 24px 0 12px;background-position:right 8px center,center}.primary,.secondary{min-height:48px;padding:12px 18px;font-size:14px;font-weight:600;line-height:1.4;border-radius:16px}.textbutton,.tabs button,.sectionlinks button{font-size:14px;line-height:1.4}.detail-actions button{min-height:48px;font-size:14px}.detail-tabs button{font-size:13px}.active-filters button{font-size:12px}
.app-toolbar{height:44px;min-height:44px;align-items:center;box-sizing:border-box;gap:8px}.top.app-toolbar{margin-bottom:28px}.page-heading{min-width:0;flex:1;gap:8px}.page-heading strong{font-size:17px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.3px}.header-emblem{width:24px;height:24px;flex:none;object-fit:contain}.top-actions,.detail-header-actions,.readerhead .reader-actions{display:grid;grid-template-columns:repeat(4,44px);gap:0;width:176px;flex:0 0 176px;align-items:center;margin-left:auto}.top-actions .theme-toggle,.detail-header-actions .theme-toggle{grid-column:1}.top-actions .search-trigger:not(.theme-toggle),.detail-header-actions .detail-search{grid-column:2}.top-actions .avatar,.detail-header-actions .detail-favourite{grid-column:4}.top-actions>button,.detail-hero-nav button,.page-back,.readerhead .back,.readerhead .reader-actions>button{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;box-sizing:border-box;color:var(--text)}.top-actions svg,.detail-hero-nav svg,.page-back svg,.readerhead svg,.library-views svg,.library-search svg,.catalog-filter svg,.hero-listen svg,.favorite svg,.catalog-heart svg,.player-buttons svg,.detail-actions svg{width:20px;height:20px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.readerhead{padding:0 0 16px}.readerhead .readerlabel{font-size:11px;line-height:1.4;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readerhead .readerlabel span{font-size:11px}.readerhead .reader-actions>button{grid-row:1}.readerhead .back{justify-items:start}.readerhead .back svg{transform:translateX(-5px)}.detail-hero-nav button,.top-actions>button{border-radius:50%;background:var(--glass-fill);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}.readerhead .back,.readerhead .reader-actions>button{background:transparent;border:0;border-radius:0;box-shadow:none}.reading-journey-stats strong{font-family:var(--body)}html{scrollbar-gutter:stable}
@media(max-width:760px){.main{padding:var(--ui-toolbar-top) var(--ui-gutter) 112px}.reader{padding:var(--ui-toolbar-top) var(--ui-gutter) 180px}.book-details-shell .main{padding:0 0 112px;max-width:none}.detail-hero{padding:var(--ui-toolbar-top) var(--ui-gutter) 42px}.detail-panel{padding:24px var(--ui-gutter) 20px}.readerhead>.reader-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 176px;column-gap:4px;row-gap:0}.readerhead .reader-actions{grid-column:3;grid-row:1;justify-self:end}.readerhead .back{grid-column:1;grid-row:1}.readerhead .readerlabel{grid-column:2;grid-row:1}.hero{margin:24px 0 28px}.home-books-heading{margin-top:28px}.library-title-row{margin:12px 0 20px}}
@media(max-width:350px){.page-heading strong{font-size:15px}.readerhead .readerlabel,.readerhead .readerlabel span{font-size:10px}.reader-language{gap:6px}.reader-language label{font-size:11px}.reader-language select{padding-left:10px;font-size:16px}.catalog-filter{padding:0 12px}.library-search{padding:0 12px}}
dialog.typography-sheet select{border-radius:var(--ui-radius)}

.field:not(textarea){height:48px}
.detail-hero-nav .detail-back,.page-back{justify-items:start;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.detail-back svg,.page-back svg{transform:translateX(-5px)}
.reading-action{display:inline-flex;align-items:center;justify-content:center;gap:8px}.reading-action svg{width:20px;height:20px;flex:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero-reading-actions{flex-wrap:nowrap;gap:8px}.hero-reading-actions .primary{padding:12px 10px;gap:6px;font-size:13px;white-space:nowrap;min-width:0}.hero-reading-actions .hero-listen{flex:none}@media(max-width:350px){.compact-hero{grid-template-columns:minmax(0,1fr) 84px;gap:12px;padding:20px 16px}.compact-hero .cover-image{width:84px}}
/* Compact header grouping and legible reader/player controls. */
.top-actions,.detail-header-actions{grid-template-columns:repeat(3,44px);gap:4px;width:140px;flex-basis:140px}.top-actions .avatar,.detail-header-actions .detail-favourite{grid-column:3}.detail-hero-nav .detail-back,.page-back,.readerhead .back{justify-items:center}.detail-back svg,.page-back svg,.readerhead .back svg{transform:none}.readerhead .readerlabel{font-size:13px;line-height:1.5}.readerhead .readerlabel span{font-size:12px}.full-player .player-title{font-size:14px;line-height:1.4}.full-player #audio-status{font-size:13px}.full-player .reading-action{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto 0;font-size:14px;font-weight:500;min-height:44px;padding:8px 12px}.full-player .reading-action svg{display:block;width:20px;height:20px;flex:none}.full-player select.player-speed{appearance:none;-webkit-appearance:none;display:block;width:80px;min-width:80px;height:44px;min-height:44px;padding:0 28px 0 12px;font-size:16px;line-height:1.4;border-radius:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23858b9b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"),var(--glass-fill);background-position:right 10px center,center;background-size:12px 12px,100% 100%;background-repeat:no-repeat}.full-player .player-buttons{gap:12px}.full-player .player-play{width:48px;min-width:48px;height:48px;padding:0}.readerfooter button{font-size:13px}@media(max-width:350px){.readerhead>.reader-toolbar{grid-template-columns:36px minmax(0,1fr) 144px}.readerhead .reader-actions{grid-template-columns:repeat(4,36px);width:144px}.readerhead .reader-actions>button,.readerhead .back{width:36px;min-width:36px}.readerhead .readerlabel{font-size:12px}.readerhead .readerlabel span{font-size:11px}.full-player .player-buttons{gap:8px}}
.full-player .player-buttons>select.player-speed{font-size:16px}.reader-mode-switch{position:fixed;z-index:6;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,780px);min-height:calc(56px + env(safe-area-inset-bottom,0px));padding:12px 20px max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:8px;background:var(--glass-fill),var(--surface);color:var(--accent);font-family:var(--body);font-size:14px;font-weight:500;border-top:1px solid var(--glass-edge);box-sizing:border-box}.reader-mode-switch svg{width:20px;height:20px;flex:none;display:block;stroke-width:1.8}.readerfooter:not(.listening-tools){bottom:calc(56px + env(safe-area-inset-bottom,0px));width:min(100%,780px);padding:12px 20px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;background:var(--glass-fill),var(--surface);box-sizing:border-box}.readerfooter:not(.listening-tools)>button{padding:10px 4px;font-size:12px;min-width:0;min-height:44px}.readerfooter.listening-tools{display:none}.full-player{bottom:calc(56px + env(safe-area-inset-bottom,0px));width:min(100%,780px);padding:16px 20px;box-sizing:border-box;border-radius:24px 24px 0 0}.reader{padding-bottom:240px}
.reader-dock{position:fixed;z-index:5;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),740px);padding:16px;border:1px solid var(--glass-edge);border-radius:24px;background:var(--glass-fill),var(--surface);box-shadow:0 8px 30px #0003,inset 0 1px 0 #ffffff18;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-sizing:border-box}.reader-dock .full-player{position:static;transform:none;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.reader-dock .readerfooter:not(.listening-tools){position:static;left:auto;bottom:auto;transform:none;width:100%;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.reader-dock .reader-mode-switch{position:static;left:auto;bottom:auto;transform:none;width:100%;min-height:44px;margin:12px 0 0;padding:8px 0;border:0;background:transparent;box-shadow:none;font-size:14px}.reader-dock .full-player .player-heading{margin-bottom:12px}.reader-dock .full-player .player-buttons{justify-content:center}.reader-dock .readerfooter button{font-size:12px}.reader{padding-bottom:250px}

/* Stable heading geometry across the four main tabs. */
.main>.page-kicker{display:block;font-family:var(--body);font-size:11px;font-weight:600;line-height:16px;letter-spacing:1.5px;margin:0;padding:0;color:var(--accent)}.main>.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin:12px 0 20px;padding:0}.main>.page-title-row>h1{font-family:var(--body);font-size:26px;font-weight:600;line-height:1.25;letter-spacing:-.6px;margin:0;padding:0}.main>.page-title-row+.hero{margin-top:0}.main>.page-title-row+.panel{margin-top:0}.top.app-toolbar{margin-top:0;padding:0;margin-bottom:28px}
.main>.page-title-row{height:48px}.main>.page-title-row>h1{white-space:nowrap;flex-shrink:0}.page-title-row .library-views{height:44px;padding:4px;gap:0;flex:none}.page-title-row .library-views button{width:36px;height:36px;min-width:36px;padding:8px}.page-title-row .library-views svg{width:20px;height:20px}

/* Frosted back controls and chapter shortcut in both reader modes. */
.detail-hero-nav .detail-back,.page-back,.readerhead .back{border-radius:50%;background:var(--glass-fill);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.reader-dock-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.reader-dock .reader-dock-actions .reader-mode-switch{width:auto;margin:0;flex:0 1 auto;min-width:0}.reader-chapters{width:44px;height:44px;flex:none;padding:0;display:grid;place-items:center;border:1px solid var(--glass-edge);border-radius:50%;background:var(--glass-fill);box-shadow:var(--glass-shadow);color:var(--accent)}.reader-chapters svg,.reader-chapter-list svg{width:20px;height:20px;flex:none}.reader-chapter-list .chapter[aria-current=true]{border-color:var(--accent)}
.reader-dock .reader-dock-actions .reader-mode-switch{flex:1;width:0}.reader-dock-actions{width:min(100%,300px);margin-left:auto;margin-right:auto}

.detail-page-label{font-family:var(--body);font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.3px;flex:1;min-width:0;white-space:nowrap}.detail-hero-nav{gap:8px}@media(max-width:350px){.detail-page-label{font-size:15px}.detail-hero-nav .detail-back{width:36px;min-width:36px}.detail-hero-nav .detail-header-actions{grid-template-columns:repeat(3,36px);width:116px;flex-basis:116px}.detail-header-actions>button{width:36px;min-width:36px}}

.favourite-results-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 20px;min-height:28px}.favourite-results-meta .help{margin:0;font-size:12px}.favourite-results-meta .textbutton{font-size:12px;line-height:1.6;padding:4px 0;margin:0}

.typography-sheet .typography-title{text-align:center;font-size:16px;font-weight:600;letter-spacing:.5px;margin:16px 0 24px}.type-size-label{display:flex;justify-content:space-between}.type-size-slider{display:flex;align-items:center;gap:16px;margin:12px 0 24px}.type-size-slider>span:first-child{font-size:14px}.type-size-slider>span:last-child{font-size:26px}.type-size-slider input{flex:1;min-width:0}.font-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 0 24px;border-bottom:1px solid var(--line);margin-bottom:20px}.font-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;padding:12px 6px;border:1px solid transparent;border-radius:16px;color:var(--text)}.font-choice .font-preview{font-size:30px;line-height:1.2}.font-choice .font-name{font-family:var(--body);font-size:12px;line-height:1.4}.font-choice[aria-pressed=true]{color:var(--accent);background:var(--glass-fill);border-color:var(--accent)}.font-choice:hover{background:var(--glass-fill)}

/* Clip frosted circles without backdrop compositing artifacts in sticky headers. */
.detail-hero-nav .detail-back,.page-back,.readerhead .back,.readerhead .back:hover{background:var(--glass-fill);border:1px solid var(--glass-edge);border-radius:50%;box-shadow:var(--glass-shadow);backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden;isolation:isolate;position:relative}.readerhead .back::before,.readerhead .back::after{content:none}.typography-sheet>.row .sheet-header-title{font-family:var(--body);font-size:16px;font-weight:600;line-height:1.4;letter-spacing:0;margin:0;text-align:left}.typography-sheet>.row:has(.sheet-header-title){margin-bottom:24px}
.reader-dock-actions{width:100%;justify-content:space-between;margin-left:0;margin-right:0}.reader-dock .reader-dock-actions .reader-mode-switch{justify-content:flex-start;text-align:left;padding-left:0;padding-right:0}.reader-dock .readerfooter:not(.listening-tools){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.reader-dock .readerfooter button{min-width:0;padding:10px 4px;font-size:11px;white-space:nowrap}.reader-dock{padding:14px}.reader-dock-actions{margin-top:10px}

.top-actions{grid-template-columns:repeat(2,44px);width:92px;flex-basis:92px}

.account-page{max-width:440px}.account-page .google-signin{display:flex;align-items:center;justify-content:center;gap:12px;border-radius:24px;margin:20px 0}.google-mark{font-size:20px;font-weight:700;color:#4285f4}.account-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:24px 0}.account-divider::before,.account-divider::after{content:"";height:1px;background:var(--line);flex:1}.account-form label{font-size:13px;color:var(--muted);display:block;margin:16px 0 8px}.account-form .field{margin:0 0 8px}.forgot-password{display:block;margin-left:auto}.account-error{color:#d87979;font-size:13px;min-height:20px;margin:12px 0}.account-alternate{text-align:center;font-size:13px;margin-top:20px}.account-page button:disabled{opacity:.5;cursor:wait}

.spine-good-vibes-good-life{color:#8a6b29;background:linear-gradient(90deg,#d5cfbd,#fffdf6 20%,#f3efe3 90%,#c9c0a7)}
.spine-atomic-habits{color:#65441e;background:linear-gradient(90deg,#bfa578,#efe6d0 20%,#d7c199 90%,#a38960)}

.spine-ux-team-of-one{color:#fff8f3;background:linear-gradient(90deg,#92222e,#d65c67 20%,#b53645 90%,#791c2b)}

.spine-100-things{color:#233332;background:linear-gradient(90deg,#889e30,#d1df52 20%,#a9bd37 90%,#6e8524)}
.spine-design-thinking{color:#3b2818;background:linear-gradient(90deg,#b78a42,#efd18d 20%,#d8ad5c 90%,#a37a35)}

.spine-lean-ux-agile{color:#172b34;background:linear-gradient(90deg,#056b8b,#6bd2ec 20%,#6bd2ec 90%,#056b8b)}
.spine-smashing-ux-design{color:#172b34;background:linear-gradient(90deg,#086a7e,#aedfe2 20%,#aedfe2 90%,#086a7e)}
.spine-design-everyday-things{color:#172b34;background:linear-gradient(90deg,#857819,#f7e86a 20%,#f7e86a 90%,#857819)}
.spine-the-ux-book{color:#fff7e9;background:linear-gradient(90deg,#233338,#627c80 20%,#627c80 90%,#233338)}
.spine-creative-mindset{color:#172b34;background:linear-gradient(90deg,#80682e,#f1e8c3 20%,#f1e8c3 90%,#80682e)}
.spine-think-ux-researcher{color:#fff7e9;background:linear-gradient(90deg,#17203b,#536381 20%,#536381 90%,#17203b)}
.spine-universal-principles-design{color:#fff7e9;background:linear-gradient(90deg,#085581,#52b2da 20%,#52b2da 90%,#085581)}
.spine-ux-fundamentals-non-ux{color:#172b34;background:linear-gradient(90deg,#3c797d,#b3dfe1 20%,#b3dfe1 90%,#3c797d)}
.spine-lean-ux-principles{color:#172b34;background:linear-gradient(90deg,#136c91,#8cd3ef 20%,#8cd3ef 90%,#136c91)}

/* Wider shelves with six consistently sized spines per full row. */
.library-shelf{padding:24px 0 18px}.library-shelf .shelf-tier{width:min(100%,460px);gap:8px;padding:10px 8px 16px;box-sizing:border-box}.shelf-tier .spine-item{flex:0 0 calc((100% - 40px)/6);min-width:0}.shelf-tier .book-spine{width:100%;height:240px;padding:12px 4px;gap:6px}.shelf-tier .spine-first-flight{height:228px}.shelf-tier .spine-code-courage{height:236px}.shelf-tier .spine-ladder-within{height:244px}.shelf-tier .spine-discipline-attention{height:232px}.shelf-tier .spine-title{font-size:13px;line-height:1.35}.shelf-tier .spine-author{font-size:8.5px;letter-spacing:.2px}.shelf-tier .book-spine{--spine-tilt:0deg}@media(max-width:350px){.library-shelf .shelf-tier{gap:5px;padding-left:4px;padding-right:4px}.shelf-tier .spine-item{flex-basis:calc((100% - 25px)/6)}.shelf-tier .spine-title{font-size:12px}.shelf-tier .spine-author{font-size:8px}}

.mini-player{position:fixed;z-index:12;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(calc(100% - 24px),740px);display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--glass-edge);border-radius:22px;background:var(--glass-fill),var(--surface);box-shadow:0 8px 30px #0003;backdrop-filter:blur(24px);box-sizing:border-box}.mini-track{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-align:left;border:0;background:transparent;padding:0}.mini-track img{width:36px;height:48px;object-fit:cover;border-radius:4px;flex:none}.mini-track span{min-width:0}.mini-track strong,.mini-track small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mini-track strong{font-size:14px}.mini-track small{font-size:12px;color:var(--muted)}.mini-play,.mini-close{width:40px;height:40px;flex:none;display:grid;place-items:center;padding:0;border-radius:50%}.mini-close svg{width:20px;height:20px}.has-mini-player .main{padding-bottom:220px}.has-mini-player:has(.reader) .mini-player{bottom:180px}.has-mini-player .reader{padding-bottom:330px}
@media(min-width:800px){.mini-player{bottom:24px;left:calc(50% + 110px);width:min(calc(100% - 280px),640px)}}

.reading-dock-heading{margin-bottom:12px;align-items:center}.reading-dock-heading .player-title{font-size:14px;line-height:1.4;min-width:0;max-width:65%}.reading-page-count{font-size:13px;line-height:1.4;white-space:nowrap;flex:none}

.mini-player .mini-play{width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;aspect-ratio:1;box-sizing:border-box;flex:0 0 40px;padding:0;border-radius:50%;line-height:1}.mini-player .mini-play svg{display:block;width:20px;height:20px;flex:none}

.library-shelf .shelf-tier{width:min(100%,472px);gap:6px}.shelf-tier .spine-item{flex-basis:calc((100% - 30px)/6)}.shelf-tier:after{left:-4px;right:-4px;height:10px;border-radius:4px}.shelf-tier .book-spine{transform-origin:bottom center}@media(max-width:350px){.library-shelf .shelf-tier{gap:4px}.shelf-tier .spine-item{flex-basis:calc((100% - 20px)/6)}}

/* Keep a rotated phone in the compact app layout rather than the desktop sidebar. */
@media (orientation:landscape) and (max-height:500px) and (min-width:600px){
html{scrollbar-gutter:auto}.shell{display:block;max-width:940px;min-height:100dvh}.main{max-width:none;padding:12px max(24px,env(safe-area-inset-right)) 100px max(24px,env(safe-area-inset-left))}.top.app-toolbar{margin-bottom:18px}.side{position:fixed;z-index:10;top:auto;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 48px),680px);height:auto;padding:8px 12px;border:1px solid var(--glass-edge);border-radius:24px;background:var(--glass-fill),var(--surface);box-shadow:var(--glass-shadow)}.side .brand,.side .sidefoot{display:none}.side nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.side .navbutton,.side .navbutton.active{min-height:44px;min-width:44px;padding:8px 16px;gap:8px}.side .navbutton .nav-label{display:none}.side .navbutton.active .nav-label{display:inline;font-size:12px}.side .navbutton svg{width:24px;height:24px}.book-details-shell .main{padding:0 0 100px}.detail-hero{padding:12px max(24px,env(safe-area-inset-left)) 36px}.detail-cover img{width:124px;height:186px}.reader{max-width:820px;padding:10px max(24px,env(safe-area-inset-right)) 150px max(24px,env(safe-area-inset-left))}.readerhead{padding-bottom:8px}.readerhead>.reader-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 176px;gap:8px}.readerhead .back{grid-column:1;grid-row:1}.readerhead .readerlabel{grid-column:2;grid-row:1;text-align:left}.readerhead .reader-actions{grid-column:3;grid-row:1;justify-self:end}.reader-language{margin:8px 0 16px}.reader-dock{width:min(calc(100% - 48px),740px);bottom:max(8px,env(safe-area-inset-bottom));padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) 240px;column-gap:20px;row-gap:8px;border-radius:20px}.reader-dock>.player-heading{grid-column:1/-1;margin:0}.reader-dock .readerfooter:not(.listening-tools){grid-column:1;grid-row:2;align-self:center}.reader-dock-actions{grid-column:2;grid-row:2;margin:0;align-self:center}.reader-dock .full-player{display:contents}.reader-dock .full-player .player-heading{grid-column:1/-1;margin:0}.reader-dock .full-player .player-buttons{grid-column:1;grid-row:2;gap:12px}.reader-dock .reader-mode-switch{min-height:44px}.mini-player{left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));width:min(calc(100% - 48px),680px);padding:8px 12px}.has-mini-player .main{padding-bottom:178px}.has-mini-player:has(.reader) .mini-player{bottom:128px}.has-mini-player .reader{padding-bottom:225px}dialog{max-height:calc(100dvh - 24px);overflow-y:auto}.typography-sheet{max-height:calc(100dvh - 12px)}
}

/* All wide layouts share navigation icons and visible names. */
@media(min-width:761px){.side .navbutton .nav-label{display:inline}.side .navbutton,.side .navbutton.active{justify-content:flex-start;text-align:left;gap:12px}}
@media(orientation:landscape) and (max-height:500px) and (min-width:600px){.shell{display:grid;grid-template-columns:calc(168px + env(safe-area-inset-left,0px)) minmax(0,1fr)}.main{min-width:0;padding-bottom:32px}.side{position:sticky;top:0;left:auto;bottom:auto;transform:none;width:auto;height:100dvh;padding:18px 12px 18px max(12px,env(safe-area-inset-left));border:0;border-right:1px solid var(--glass-edge);border-radius:0;box-shadow:none}.side nav{display:grid;align-content:start;gap:8px}.side .navbutton,.side .navbutton.active{width:100%;justify-content:flex-start;text-align:left;gap:10px;padding:10px;min-height:44px}.side .navbutton .nav-label,.side .navbutton.active .nav-label{display:inline;font-size:13px;line-height:1.4}.book-details-shell .main{padding-bottom:32px}.mini-player{left:calc(50% + 84px + env(safe-area-inset-left,0px)/2);bottom:max(12px,env(safe-area-inset-bottom));width:min(calc(100% - 216px - env(safe-area-inset-left,0px)),640px)}.has-mini-player .main{padding-bottom:112px}.has-mini-player:has(.reader) .mini-player{left:50%;width:min(calc(100% - 48px),740px);bottom:128px}}

@media(prefers-reduced-motion:no-preference){.primary,.secondary,.reader-chapters,.mini-play,.mini-close,.catalog-filter,.library-views button{transition:background-color .14s ease,opacity .14s ease,box-shadow .14s ease}.primary:active,.secondary:active,.reader-chapters:active,.mini-play:active,.mini-close:active{opacity:.8}dialog:not(.typography-sheet)[open]{animation:luma-dialog-in .18s ease-out}@keyframes luma-dialog-in{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){dialog,.book-spine,.continue-dot span{animation:none!important;transition:none!important}}
#sheet:not(.typography-sheet){box-sizing:border-box;width:min(480px,calc(100% - 32px));max-width:480px;max-height:calc(100dvh - 32px);margin:auto;padding:24px}#sheet>.row{gap:16px;align-items:center}#sheet .sheet-header-title{margin:0;font-size:20px;line-height:1.35}#sheet>.row>button{flex:none}.completion-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.completion-actions>.wide{width:100%;margin:0}
body>.reader-dock{position:fixed;top:auto;bottom:max(12px,env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);margin:0;z-index:10}html[data-page="reader"] .reader{padding-bottom:calc(var(--reader-dock-space,260px) + env(safe-area-inset-bottom,0px))}html[data-page="reader"]{scroll-padding-bottom:var(--reader-dock-space,260px)}.reader .pagebuttons{position:relative;margin-bottom:24px}
body>.side{position:fixed;top:auto;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom,0px));width:auto;height:auto;margin:0;z-index:11;box-sizing:border-box}
