/* Physical iPhone 17 / Build 60 is the baseline for shared browsing UI. */
.phone{aspect-ratio:402/874}.device{width:402px;height:874px;font-family:'Avenir Next',-apple-system,BlinkMacSystemFont,sans-serif}.device button,.device input,.device textarea{font-family:inherit}.status{height:62px;padding-top:22px;padding-left:31px;padding-right:28px}.app-scroll{inset:62px 0 0;padding-top:8px}.app-heading{gap:8px;min-height:48px}.app-heading h1{font-size:28px;font-weight:500;letter-spacing:-.35px}.app-heading .app-brand{font-size:28px;letter-spacing:-.6px}.heading-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.interactive-shortcut{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;padding:7px 10px;border-radius:22px;background:var(--selected);color:var(--primary);font-size:12px;font-weight:500}.interactive-shortcut .tab-icon{width:23px;height:21px}.home-indicator{left:50%;right:auto;transform:translateX(-50%);width:134px}.section-head h2{font-size:20px;letter-spacing:-.15px;font-weight:500}.device .book-card>strong{font:500 16px/1.5 'Avenir Next',-apple-system,sans-serif;letter-spacing:0}.device .detail-book h1{font:500 24px/1.45 'Avenir Next',-apple-system,sans-serif;letter-spacing:-.25px}.device .stage-copy h2{font:500 25px/1.25 'Avenir Next',-apple-system,sans-serif;letter-spacing:-.25px}.device .window-copy strong{font:500 16px/1.5 'Avenir Next',-apple-system,sans-serif}.device .resume h2{font:500 16px/1.5 'Avenir Next',-apple-system,sans-serif}.device .reader-identity{font-family:'Avenir Next',-apple-system,sans-serif}.detail-head,.reader-head{top:62px}.detail-head>span{min-width:0;flex:1;text-align:center;line-height:1.35}.detail-scroll{inset:122px 0 128px}.detail-book{grid-template-columns:104px minmax(0,1fr);gap:18px}.detail-book>.cover{width:104px;height:156px}.reader-scroll{top:126px}.controls-hidden .reader-scroll{top:73px}.overlay{inset:62px 0 24px}.device .sheet h2{font-family:'Avenir Next',-apple-system,sans-serif;font-weight:500}.device .composer textarea{font:italic 19px/1.55 Georgia,serif}.device .player-turn{font:italic 19px/1.65 Georgia,serif}.device .prose{font-family:Georgia,serif}.device .cover-title{font-family:Georgia,serif}.device .chapter-label{font-family:'Avenir Next',-apple-system,sans-serif}.board{max-width:min(100%,calc((100svh - 230px)*1.38 + 60px))}.device .primary{font-size:15px}.device .detail-scroll p{font-size:16px;line-height:1.65}.device .detail-scroll h2{font-size:20px;font-weight:500}.device .genre{font-size:14px}
/* Native Home: topic menu, two full covers, then a vertical genre list. */
.native-home .app-heading{margin-bottom:16px}.native-home .section-head{margin-bottom:12px;min-height:44px}.native-home .app-section{margin-bottom:36px}.topic-menu{position:relative;margin-left:auto;font-size:14px;z-index:9}.topic-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 12px;background:var(--selected);border-radius:24px;min-height:36px;color:var(--primary);font-weight:500;cursor:pointer}.topic-menu summary::-webkit-details-marker{display:none}.topic-menu summary svg{width:12px;height:12px;transform:rotate(90deg)}.topic-menu[open] summary svg{transform:rotate(-90deg)}.topic-options{position:absolute;right:0;top:calc(100% + 7px);background:white;border:1px solid var(--line);border-radius:14px;padding:5px;width:180px;box-shadow:0 6px 25px #0c1c2e15}.topic-options>button{width:100%;min-height:44px;background:transparent;border:0;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;text-align:left;border-radius:9px;font-size:14px;color:var(--ink)}.topic-options>button[aria-pressed=true]{background:var(--surface);color:var(--primary)}.topic-options>button svg{width:15px;height:15px}.native-popular-shelf{display:flex;align-items:flex-start;gap:16px;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding-left:0}.native-popular-shelf::-webkit-scrollbar{display:none}.native-popular-book{min-width:0;flex:0 0 calc((100% - 16px)/2);width:calc((100% - 16px)/2);padding:0;border:0;display:block;background:none;text-align:left;scroll-snap-align:start;color:var(--ink)}.native-cover{border-radius:6px;aspect-ratio:2/3;width:100%;height:auto;border:0;outline:.5px solid #25282b0f;outline-offset:-.5px}.native-cover:after{display:none}.native-popular-book>strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:48px;font-size:16px;line-height:24px;font-weight:500;margin-top:10px;letter-spacing:0}.native-home .native-genres .section-head{margin-bottom:4px}.native-genre-filters{display:flex;align-items:center;gap:4px;margin:0 -24px 12px;padding:0 24px;overflow:auto;scrollbar-width:none;white-space:nowrap}.native-genre-filters button{font-size:14px;font-weight:400;line-height:20px;min-height:44px;min-width:44px;padding:8px 14px;border:0;background:none;border-radius:24px;color:var(--muted)}.native-genre-filters button[aria-pressed=true]{background:var(--selected);font-weight:500;color:var(--primary)}.native-genre-list{display:flex;flex-direction:column;gap:16px}.native-genre-row{display:flex;align-items:flex-start;gap:16px;padding:0;width:100%;min-height:84px;border:0;background:none;color:var(--ink);text-align:left}.native-genre-row>.cover{width:56px;height:84px;flex:0 0 56px}.native-row-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;flex:1;min-width:0;padding-top:0;min-height:84px}.native-row-copy strong{font-size:16px;font-weight:500;line-height:25px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:0}.native-row-copy>span{font-size:12px;line-height:18px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.native-genre-row>svg{width:12px;height:84px;flex-shrink:0;color:var(--muted);stroke-width:2}.native-home{padding-bottom:124px}
@media(min-width:761px){body.focus .board{max-width:402px}}@media(max-width:1100px) and (min-width:761px){.board{max-width:min(100%,calc((100svh - 230px)*1.38 + 40px))}}@media(max-width:760px){.board{max-width:402px}}

.native-genre-filters button{flex-shrink:0}.native-genre-row .native-row-copy{padding-right:6px}
