@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap";:root{--ink:#252521;--muted:#77776e;--paper:#f5f3ec;--panel:#fffef9;--line:#dedbd0;--green:#304a3e;--green2:#4b6a59;--orange:#c56e45;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #cf8e6c}.muted{color:var(--muted)}.appShell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{background:#eae7de;border-right:1px solid #d8d4c8;flex-direction:column;width:230px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0}.logo{align-items:center;gap:10px;padding:0 10px;font-family:Instrument Serif;font-size:25px;display:flex}.logoMark{background:var(--green);color:#fff;border-radius:5px 10px 5px 5px;place-items:center;width:31px;height:35px;font-size:23px;font-style:italic;display:grid;box-shadow:3px 3px #aebdaf}.sidebar nav{flex-direction:column;gap:5px;margin-top:48px;display:flex}.sidebar button{background:0 0;border:0}.sidebar nav button,.sideBottom>button{color:#68685f;text-align:left;border-radius:9px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:14px;font-weight:600;display:flex}.sidebar nav button svg,.sideBottom svg{width:18px}.sidebar nav button.active{color:var(--green);background:#d9ded6}.navCount{background:#d0ccc1;border-radius:20px;margin-left:auto;padding:2px 7px;font-size:11px}.sideBottom{margin-top:auto}.streak{background:#f4efe2;border:1px solid #dfd7c7;border-radius:10px;align-items:center;gap:10px;margin:0 5px 18px;padding:12px;display:flex}.streak span{font-size:24px}.streak strong,.streak small{display:block}.streak strong{font-size:13px}.streak small{color:var(--muted);margin-top:2px;font-size:10px}.libraryMain{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f5efe0;align-items:center;gap:14px;height:84px;padding:0 4.5%;display:flex}.search{border:1px solid var(--line);background:#fffdf8;border-radius:9px;align-items:center;gap:10px;max-width:380px;margin-right:auto;padding:10px 14px;display:flex}.search svg{color:#949087;width:18px}.search input{background:0 0;border:0;outline:0;width:270px}.addButton,.primaryButton,.playButton{background:var(--green);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.addButton{padding:11px 16px}.addButton svg{width:17px}.avatar{width:39px;height:39px;color:var(--green);background:#c6d0c3;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.libraryContent{max-width:1280px;margin:auto;padding:52px 5% 80px}.welcome{justify-content:space-between;align-items:flex-end;display:flex}.eyebrow{color:#9b684c;letter-spacing:.15em;margin-bottom:9px;font-size:10px;font-weight:800;display:block}.welcome h1{letter-spacing:-.02em;margin:0;font:46px/1.08 Instrument Serif}.welcome p{color:var(--muted);margin:12px 0 0;font-size:14px}.dailyGoal{border-left:1px solid var(--line);width:180px;padding:15px 16px}.dailyGoal>span{letter-spacing:.15em;color:var(--muted);font-size:9px;font-weight:800}.dailyGoal strong{margin:5px 0 10px;font:26px Instrument Serif;display:block}.dailyGoal strong small{color:var(--muted);font:12px DM Sans}.dailyGoal div,.progressRow div,.tinyProgress{background:#ddd9cf;border-radius:4px;height:4px;overflow:hidden}.dailyGoal i,.progressRow i,.tinyProgress i{background:var(--orange);height:100%;display:block}.continueCard{color:#fff;background:#344c40;border-radius:13px;grid-template-columns:122px minmax(240px,1fr) minmax(250px,.9fr);align-items:center;gap:30px;margin:38px 0 54px;padding:22px 32px 22px 22px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #2d3c3329}.continueCard:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-210px;right:-100px;box-shadow:0 0 0 35px #ffffff06,0 0 0 70px #ffffff05}.continueInfo{z-index:1}.continueInfo .eyebrow{color:#d6a484}.continueInfo h2{margin:0 0 4px;font:30px Instrument Serif}.continueInfo p{color:#bbc8bf;margin:0;font-size:12px}.progressRow{align-items:center;gap:10px;margin-top:18px;display:flex}.progressRow div{background:#587064;width:180px}.progressRow span{font-size:10px}.continueActions{gap:8px;margin-top:16px;display:flex}.continueActions button{color:#fff;background:0 0;border:1px solid #6f8278;border-radius:7px;padding:9px 14px;font-size:11px;font-weight:700}.continueActions .playButton{color:#31483d;background:#f7f2e7;border-color:#f7f2e7}.continueActions svg{width:14px}.continueCard blockquote{z-index:1;color:#d5ddd8;border-left:1px solid #60766a;margin:0;padding-left:26px;font:italic 18px/1.5 Instrument Serif}.shelf>header{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.shelf h2{margin:0;font:29px Instrument Serif}.shelf h2 small{color:#9d9a91;margin-left:5px;font:12px DM Sans}.shelf>header button{color:var(--muted);background:0 0;border:0;font-size:12px}.bookGrid{grid-template-columns:repeat(3,minmax(150px,1fr));gap:34px;display:grid}.bookCard{grid-template-columns:128px 1fr;gap:17px;min-width:0;display:grid}.coverButton{cursor:pointer;background:0 0;border:0;padding:0}.bookCover{aspect-ratio:2/3;background:var(--cover);color:#f8f1e5;text-align:left;border-radius:3px 9px 9px 3px;flex-direction:column;justify-content:flex-end;padding:18px 15px;display:flex;position:relative;overflow:hidden;box-shadow:-5px 5px 12px #1e1c1438,inset 5px 0 #ffffff14,inset -2px 0 #0003}.bookCover:before,.bookCover:after{content:"";border:1px solid #ffffff38;position:absolute;inset:14px}.bookCover:after{inset:19px}.bookCover strong{z-index:1;font:18px/1.08 Instrument Serif;position:relative}.bookCover>span:last-child{z-index:1;letter-spacing:.04em;margin-top:7px;font-size:8px;position:relative}.bookCover .coverFormat{z-index:1;letter-spacing:.13em;background:#0000003b;padding:4px 9px;font-size:7px;position:absolute;top:25px;left:0}.coverOrnament{z-index:1;font-size:18px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.bookCover.small{width:100px;min-height:150px}.bookMeta{min-width:0;padding-top:8px;position:relative}.formatPill{color:#777168;background:#e5e0d5;border-radius:4px;padding:3px 7px;font-size:8px;font-weight:800}.dots{color:#999;background:0 0;border:0;position:absolute;top:0;right:0}.dots svg{width:18px}.bookMeta h3{margin:13px 0 4px;font:19px/1.1 Instrument Serif}.bookMeta p{color:var(--muted);margin:0;font-size:10px}.tinyProgress{margin-top:23px}.bookMeta>small{color:#908e86;margin-top:5px;font-size:8px;display:block}.modalBackdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1b1c188f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#f9f7f1;border:1px solid #cfcabd;border-radius:14px;width:min(600px,100%);max-height:92vh;overflow:auto;box-shadow:0 30px 80px #00000047}.modal>header,.modal>footer{justify-content:space-between;align-items:center;padding:22px 25px;display:flex}.modal h2{margin:0;font:29px Instrument Serif}.iconButton{border:1px solid var(--line);background:0 0;border-radius:8px;place-items:center;width:37px;height:37px;padding:0;display:grid}.iconButton svg{width:18px}.dropzone{background:#f3f0e8;border:1.5px dashed #bbb6aa;border-radius:10px;flex-direction:column;align-items:center;gap:7px;width:calc(100% - 50px);margin:0 25px;padding:32px;display:flex}.dropzone.selected{border-color:var(--green2);background:#edf1eb}.dropzone span{color:var(--muted);font-size:11px}.formGrid{grid-template-columns:1fr 1fr;gap:14px;padding:20px 25px 0;display:grid}.formGrid label{font-size:11px;font-weight:700}.formGrid input{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;margin-top:6px;padding:11px}.formError{color:#b5472d;margin:12px 25px 0;font-size:12px}.modal>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px}.textButton,.primaryButton{padding:10px 16px}.textButton{background:0 0;border:0}.settingsModal{width:min(720px,100%)}.settingsBody{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:.8fr 1.2fr;display:grid}.settingsBody section{padding:23px}.settingsBody section+section{border-left:1px solid var(--line)}.settingsBody h3{align-items:center;gap:7px;margin:0 0 14px;font-size:13px;display:flex}.segmented{background:#e7e3d9;border-radius:7px;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.segmented button{background:0 0;border:0;border-radius:5px;padding:7px;font-size:11px}.segmented button.active{background:#fff;box-shadow:0 1px 5px #cbc7bc}.speedList{margin:16px 0}.speedList label{margin:10px 0;display:block}.speedList label span{justify-content:space-between;font-size:10px;display:flex}.speedList input{width:100%;accent-color:var(--green)}.switchRow{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.switchRow strong,.switchRow small{display:block}.switchRow strong{font-size:11px}.switchRow small{color:var(--muted);margin-top:3px;font-size:9px}.switchRow input{accent-color:var(--green)}.keyGrid>div{justify-content:space-between;align-items:center;margin:7px 0;display:flex}.keyGrid span{font-size:11px}.keycap,.capturing{background:#fff;border:1px solid #c8c2b5;border-radius:6px;min-width:90px;padding:6px 8px;font:9px monospace;box-shadow:0 2px #c8c2b5}.capturing{color:#a65335;border-color:#c88d72}.settingsBody .muted{font-size:10px}.readerShell{background:#f3f0e8;min-height:100vh}.readerHeader{z-index:5;background:#f9f7f1;border-bottom:1px solid #d8d3c8;align-items:center;gap:10px;height:75px;padding:0 28px;display:flex;position:relative}.backButton{background:0 0;border:0;align-items:center;gap:8px;margin-right:16px;font-size:12px;display:flex}.backButton svg{width:17px}.readerBook{flex-direction:column;margin-right:auto;display:flex}.readerBook strong{font:18px Instrument Serif}.readerBook span{color:var(--muted);font-size:9px}.modeSwitch{background:#e8e4da;border-radius:8px;padding:3px;display:flex}.modeSwitch button{background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:10px;display:flex}.modeSwitch button.active{background:#fff;box-shadow:0 2px 6px #cbc6bb}.modeSwitch svg{width:14px}.studyView{background:radial-gradient(circle,#faf8f2,#efebe1);grid-template-rows:auto 1fr auto auto;min-height:calc(100vh - 75px);display:grid}.studyTop{grid-template-columns:120px 1fr 120px;align-items:center;padding:20px 7%;display:grid}.studyMeta span,.studyMeta strong,.studyMeta small{display:block}.studyMeta span{letter-spacing:.15em;color:var(--muted);font-size:8px}.studyMeta strong{margin-top:3px;font:18px Instrument Serif}.studyMeta small{color:#999;font-size:10px;display:inline}.studyProgress{background:#d9d4c9;height:3px}.studyProgress i{background:var(--orange);height:100%;display:block}.speedBadge{border:1px solid var(--line);border-radius:6px;justify-self:end;align-items:center;gap:5px;padding:6px 9px;font-size:10px;display:flex}.speedBadge svg{width:13px}.sentenceStage{grid-template-columns:50px minmax(300px,760px) 50px;justify-content:center;align-items:center;gap:30px;padding:2vh 20px;display:grid}.navArrow{border:1px solid var(--line);background:#f9f7f1;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.sentenceCard{text-align:center}.sentenceNumber{color:#a96e4e;letter-spacing:.18em;font-size:8px;font-weight:800}.sentenceCard>p{letter-spacing:-.01em;margin:22px auto 24px;font:34px/1.35 Instrument Serif}.phraseHint{background:#e8e1d4;border-radius:6px;flex-direction:column;gap:3px;padding:9px 15px;display:inline-flex}.phraseHint span{letter-spacing:.13em;color:#99715c;font-size:7px;font-weight:800}.phraseHint strong{font:italic 13px Instrument Serif}.sentenceActions{justify-content:center;gap:8px;margin-top:28px;display:flex}.sentenceActions button{border:1px solid var(--line);background:0 0;border-radius:7px;align-items:center;gap:7px;padding:8px 11px;font-size:9px;display:flex}.sentenceActions button.selected{color:var(--green);background:#e1e8e1}.sentenceActions button.warning{color:#a65735;background:#f2dfd3}.sentenceActions svg{width:14px}.sentenceActions kbd,.learningPanel kbd{color:#8d8980;background:#fff;border:1px solid #d3cec3;border-radius:3px;margin-left:5px;padding:2px 5px;font:8px monospace}.learningPanels{grid-template-columns:1fr 1fr;gap:12px;width:min(820px,100% - 40px);margin:0 auto 20px;display:grid}.learningPanel{text-align:left;border:1px solid var(--line);background:#f9f7f1;border-radius:9px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:13px;display:grid}.learningPanel .panelIcon{width:34px;height:34px;color:var(--green);background:#e4e7e0;border-radius:7px;place-items:center;display:grid}.learningPanel svg{width:17px}.learningPanel small,.learningPanel strong{display:block}.learningPanel small{letter-spacing:.13em;color:#969187;font-size:7px}.learningPanel strong{margin-top:2px;font-size:11px}.learningPanel p{border-top:1px solid var(--line);grid-column:1/-1;margin:10px 0 0;padding-top:10px;font-size:11px;line-height:1.6}.learningPanel.open{background:#f3f7f1;border-color:#aebcae}.studyPlayer{color:#fff;text-align:center;background:#32483d;padding:15px 8%}.repeatDots{justify-content:center;gap:6px;display:flex}.repeatDots span{border:1px solid #5e7167;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:8px;display:flex}.repeatDots span.active{color:#2f473a;background:#f0e9dc}.repeatDots small{font-size:7px}.mainControls{justify-content:center;align-items:center;gap:18px;margin:8px 0;display:flex}.mainControls button{color:#fff;background:0 0;border:0;place-items:center;width:32px;height:32px;display:grid}.mainControls .mainPlay{color:#32483d;background:#f3eee3;border-radius:50%;width:46px;height:46px}.mainControls svg{width:18px}.studyPlayer>p{color:#aebdb5;justify-content:center;align-items:center;gap:7px;margin:0;font-size:8px;display:flex}.studyPlayer>p span{background:#d98155;border-radius:50%;width:6px;height:6px}.studyPlayer>p strong{color:#e2b299;letter-spacing:.12em}.readingView{background:#ebe6dc;min-height:calc(100vh - 75px);padding:55px 14% 130px;position:relative}.readingPaper{background:#fffdf8;max-width:760px;margin:auto;padding:70px 85px;box-shadow:0 12px 50px #463d2d1f}.chapterKicker{color:#a86b4c;letter-spacing:.18em;font-size:9px;font-weight:800}.readingPaper h1{margin:12px 0 35px;font:42px Instrument Serif}.readingSentence{text-align:left;background:0 0;border:0;padding:3px 2px;font:20px/1.8 Instrument Serif;display:inline}.readingSentence.active{background:#f0dfca;border-radius:3px}.chapterRail{color:#888;letter-spacing:.1em;flex-direction:column;align-items:center;gap:12px;font-size:8px;display:flex;position:fixed;top:135px;left:35px}.chapterRail>div{background:#d1cbc0;width:2px;height:150px;position:relative}.chapterRail i{background:var(--orange);display:block}.floatingPlayer{color:#fff;background:#344c40;border-radius:11px;grid-template-columns:42px 125px 1fr 22px;align-items:center;gap:12px;width:min(560px,100% - 30px);padding:11px 16px;display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #887d6b55}.floatingPlayer>button{color:#344c40;background:#f8f1e7;border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.floatingPlayer strong,.floatingPlayer span{display:block}.floatingPlayer strong{font-size:10px}.floatingPlayer span{color:#afbbb4;font-size:8px}.waveform{align-items:center;gap:3px;height:30px;display:flex}.waveform i{background:#8fa296;border-radius:3px;width:2px}.emptyReader{place-items:center;min-height:100vh;display:grid}.emptyReader button{padding:10px}.primaryButton:disabled{opacity:.5}@media (width<=1000px){.bookGrid{grid-template-columns:repeat(2,1fr)}.continueCard{grid-template-columns:100px 1fr}.continueCard blockquote{display:none}.bookCard{grid-template-columns:110px 1fr}}@media (width<=720px){.appShell{display:block}.sidebar{z-index:20;width:auto;height:62px;padding:6px 12px;display:block;position:fixed;inset:auto 0 0}.sidebar .logo,.sideBottom{display:none}.sidebar nav{flex-direction:row;justify-content:space-around;margin:0;display:flex}.sidebar nav button{flex-direction:column;gap:1px;width:auto;padding:5px 10px;font-size:8px}.sidebar nav button svg{height:20px}.navCount{display:none}.libraryMain{padding-bottom:62px}.topbar{height:66px;padding:0 16px}.search{display:none}.libraryContent{padding:30px 18px 60px}.welcome{align-items:start}.welcome h1{font-size:35px}.welcome p{max-width:260px}.dailyGoal{display:none}.continueCard{grid-template-columns:75px 1fr;gap:18px;padding:18px}.bookCover.small{width:72px;min-height:108px}.continueInfo h2{font-size:22px}.progressRow div{width:110px}.bookGrid{grid-template-columns:1fr;gap:22px}.bookCard{grid-template-columns:90px 1fr}.readerHeader{padding:0 12px}.backButton{white-space:nowrap;width:36px;margin:0;overflow:hidden}.readerBook{max-width:115px}.readerBook strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.modeSwitch button{padding:7px}.modeSwitch button svg,.readerHeader>.iconButton:nth-last-child(2){display:none}.studyTop{grid-template-columns:70px 1fr 60px;padding:14px}.sentenceStage{grid-template-columns:30px 1fr 30px;gap:5px;padding:10px}.navArrow{width:30px;height:30px}.sentenceCard>p{font-size:27px}.learningPanels{grid-template-columns:1fr}.learningPanel{padding:10px}.settingsBody{grid-template-columns:1fr}.settingsBody section+section{border-left:0;border-top:1px solid var(--line)}.formGrid{grid-template-columns:1fr}.readingView{padding:25px 15px 120px}.readingPaper{padding:45px 30px}.chapterRail{display:none}.readingSentence{font-size:18px}.waveform{display:none}.floatingPlayer{grid-template-columns:42px 1fr 22px}.modal{max-height:95vh}}.bookMenu{z-index:5;border:1px solid var(--line);background:#fff;border-radius:8px;width:120px;padding:5px;position:absolute;top:28px;right:0;box-shadow:0 8px 24px #5553}.bookMenu button{text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;width:100%;padding:7px;font-size:10px;display:flex}.bookMenu button:hover{background:#f2efe8}.bookMenu button.danger{color:#a34531}.bookMenu svg{width:13px}.emptyShelf{border:1px dashed var(--line);min-height:230px;color:var(--muted);text-align:center;border-radius:12px;place-items:center;gap:7px;display:grid}.emptyShelf svg{width:28px}.emptyShelf strong{color:var(--ink);font:20px Instrument Serif}.emptyShelf span{font-size:11px}.emptyShelf button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:7px;margin-top:6px;padding:8px 12px;font-size:10px;font-weight:700}
