:root{--purple:#a9583d;--ink:#202b35;--muted:#65717c;--bg:#eeeae2;--paper:#fffefa;--panel:#f7f4ed;--line:#dedbd3;--highlight:#e2b84d}
body{background:var(--bg);color:var(--ink)}.topbar,.reader-toolbar,.player{background:var(--paper)}.topbar{box-shadow:0 1px 0 var(--line)}.brand small{letter-spacing:.16em;color:#7a756a}.brand-icon{border-radius:10px}.window-tools button,.appearance button,.page-navigation button,nav button{color:var(--ink)}.window-tools button:hover,.page-navigation button:hover,nav button:hover{background:#a9583d12;color:var(--purple)}.import-button,.primary,.play-button{background:var(--ink);color:white;border-radius:7px;box-shadow:none}.import-button:hover,.primary:hover,.play-button:hover{background:var(--purple)}.page-stage{background:radial-gradient(ellipse at 50% 20%,#ffffffa8,transparent 70%),var(--bg);padding:24px 30px}.document-sheet{width:min(100%,920px);padding:clamp(28px,4vw,56px) clamp(28px,6vw,84px) 22px;box-shadow:0 18px 50px #202b3510,0 1px 3px #202b3512;border:1px solid #e5e1d8;border-radius:4px}.sheet-heading,.sheet-bottom{letter-spacing:.12em}#text{line-height:1.9}.sentence.active{color:#292b24;background:#f3d778;box-shadow:0 2px 12px #8e681a20;animation:highlight-in .18s ease-out}.is-playing .sentence.active{animation:voice-shimmer 3.8s ease-in-out infinite;background-image:linear-gradient(100deg,#f3d778 0%,#f3d778 45%,#f9e8a8 52%,#f3d778 62%);background-size:220% 100%}.sentence.active.paused{background:#eac85d;color:#292b24}.pdf-highlight{background:#edc84d55;border-color:#cf9f3388;box-shadow:0 0 10px #d8a43633}.is-playing .pdf-highlight{animation:pdf-glow 2s ease-in-out infinite}.player{box-shadow:0 -8px 26px #202b3506}.play-button{min-width:112px}.waveform i{background:var(--purple)}progress::-webkit-progress-value{background:var(--purple)}#audioProgress{accent-color:var(--purple)}.live-caption{background:var(--paper)}.caption-label,#liveText{color:var(--ink)}.is-playing #liveText{color:var(--purple)}#settings{background:var(--panel)}input[type=range],input[type=checkbox]{accent-color:var(--purple)}.auth-card{max-width:600px!important;max-height:min(90vh,880px);overflow:auto;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 70px #202b3526}.auth-card input:not([type=checkbox]){min-height:46px;font-size:15px}.auth-card label{font-size:13px}.auth-card button{min-height:42px;border-radius:7px}.account-overlay{background:#202b3570;backdrop-filter:blur(5px)}.account-plans{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:16px;background:#f4f1e9;border:1px solid var(--line);border-radius:8px}.account-plans span{font-size:12px;color:var(--muted)}.auth-link-page{max-width:700px;margin:0 auto;padding:30px 24px}.auth-link-page>section{margin:18vh auto 0;padding:clamp(26px,6vw,58px);background:var(--paper);border:1px solid var(--line);max-width:560px}.auth-link-page h1,.legal-page h1{font-size:clamp(40px,7vw,68px);line-height:1.04;margin:20px 0}.auth-link-page #authStatus{color:var(--muted);margin:24px 0}.auth-link-page #authStatus.error{color:#a23d31}.auth-link-page input{width:100%;min-height:46px;padding:10px;border:1px solid var(--line);background:white;border-radius:5px;font:inherit}.auth-link-page form .button{width:100%;margin-top:18px;background:var(--ink);color:#fff}.legal-page{max-width:820px;margin:45px auto 100px;padding:20px 30px}.legal-page h2{font-size:28px;margin:36px 0 10px}.legal-page p{color:#4d5962;line-height:1.8}.legal-page a{color:var(--terracotta)}.footer-wordmark{color:#fffefa!important}
@media(max-width:800px){.page-stage{padding:10px}.document-sheet{padding:22px 20px 14px}.account-plans{grid-template-columns:1fr}.auth-link-page>section{margin-top:9vh}.legal-page{padding:15px 22px;margin:24px auto 60px}}
@media(prefers-reduced-motion:reduce){.sentence.active,.pdf-highlight{animation:none!important}}
@media(max-width:650px){.topbar{position:relative;z-index:12;flex-wrap:nowrap;overflow:visible}.window-tools{max-width:68vw;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.window-tools select{flex:0 0 58px;width:58px;max-width:58px;padding:5px}.mobile-options aside{z-index:10}}
