:root{font-family:system-ui,-apple-system,sans-serif;color:#203d37;background:#f4f3eb;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}main{max-width:780px;margin:auto;padding:44px 20px 24px}header{margin-bottom:28px}.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:.19em;color:#59756d}h1{font-size:clamp(2.3rem,7vw,3.6rem);letter-spacing:-.06em;line-height:1.1;margin:12px 0}h1 span{color:#d07647}header p{color:#597068;margin:16px 0}.card{border:1px solid #dce1d7;border-radius:20px;background:#fffef8;padding:22px;margin:16px 0;box-shadow:0 4px 18px #203d3705}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}h2{font-size:1rem;margin:0}button,select,input,textarea{font:inherit}button{border:1px solid #c8d3c8;background:#f5f7ef;color:#23483e;border-radius:12px;min-height:48px;padding:10px 18px;cursor:pointer;font-weight:650}button:hover:not(:disabled){background:#e5eddf}button:disabled{opacity:.45;cursor:default}.quiet{border:none;background:transparent;font-size:.85rem;min-height:44px}textarea{display:block;width:100%;height:300px;resize:none;border:0;background:transparent;padding:14px 0;color:#263d36;line-height:1.65}textarea:focus{outline:none}textarea:focus-visible{box-shadow:inset 0 -2px #4f806b}::placeholder{color:#87948b}.hint{font-size:.78rem;color:#63746a;margin:12px 0 0}.settings{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}label{font-size:.86rem;font-weight:650}select{display:block;width:100%;min-height:46px;border:1px solid #c8d3c8;border-radius:10px;background:#fffef8;color:inherit;padding:8px;margin-top:7px}input[type=range]{display:block;width:100%;min-height:46px;accent-color:#24634f}output{float:right;font-weight:450}details{border-top:1px solid #e4e7dd;margin-top:18px;padding-top:16px}summary{cursor:pointer;font-size:.88rem;font-weight:600;min-height:30px}.options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.options label{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:450}.options input{width:19px;height:19px;accent-color:#24634f}#preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:var(--reading-font-size,20px);height:300px;min-height:150px;resize:vertical;overflow:auto;background:#f4f5ed;border-radius:10px;padding:14px}#count,#position{font-size:.75rem;color:#63746a;font-weight:400}progress{width:100%;height:6px;accent-color:#39715b;margin:18px 0}.controls{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}.primary{background:#204e40;color:#fff;border-color:#204e40}.primary:hover:not(:disabled){background:#306650}footer{text-align:center;font-size:.75rem;color:#778578;padding:18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}:focus-visible{outline:3px solid #c47743;outline-offset:3px}@media(max-width:480px){main{padding:26px 14px 16px}.card{padding:17px;border-radius:16px}.settings{grid-template-columns:1fr;gap:14px}.controls{gap:6px}button{padding:10px 12px}.options{gap:4px}#status{font-size:.9rem}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}

.reading-paragraph{display:inline;margin:0;padding:0;line-height:1.85}.sentence{display:inline;font:inherit;color:inherit;cursor:pointer;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.sentence:hover:not([aria-disabled=true]){background:#e5eddf}.sentence[aria-current=true]{background:#d8e8cd;box-shadow:0 2px 0 #24634f}.sentence[aria-disabled=true]{cursor:default}.sentence:focus-visible{outline:2px solid #c47743;outline-offset:2px}


.engine-label{display:block;margin-bottom:18px}

.follow-toggle{display:flex;align-items:center;gap:9px;min-height:44px;margin:6px 0;font-weight:450}.follow-toggle input{width:19px;height:19px;accent-color:#24634f}

.pdf-import{margin-top:12px;padding:12px;border-radius:10px;background:#f4f5ed}.pdf-import label{display:block;margin-bottom:8px}.pdf-import input{max-width:100%;font-size:.85rem}

.pdf-import input{margin-top:8px}

[hidden]{display:none!important}.mode-controls{display:flex;gap:8px;margin:16px 0}.mode-controls button[aria-pressed=true]{background:#204e40;color:#fff;border-color:#204e40}

/* Keep mode selection obvious even while the selected button is hovered. */
.mode-controls{display:inline-flex;gap:4px;padding:5px;background:#e4e9df;border:1px solid #bac8bb;border-radius:14px}
.mode-controls button{min-width:100px;border-radius:9px;background:#fffef8;border:1px solid #b8c7ba;box-shadow:0 2px 0 #aebcaf}
.mode-controls button[aria-pressed=true],.mode-controls button[aria-pressed=true]:hover{background:#204e40;color:#fff;border-color:#12382c;box-shadow:inset 0 3px 5px #0006,inset 0 0 0 2px #93b6a4;transform:translateY(1px)}
.mode-controls button[aria-pressed=true]::before{content:"✓ ";font-weight:800}

.reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0}
.reading-toolbar .follow-toggle{margin:0}
.reading-size-control{position:relative}
#reading-size-toggle{min-width:44px;font-size:1rem}
#reading-size-toggle[aria-expanded=true]{background:#e5eddf}
#reading-size-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:2;width:240px;max-width:calc(100vw - 64px);padding:14px 16px;background:#fffef8;border:1px solid #c8d3c8;border-radius:12px;box-shadow:0 6px 24px #203d3726}
.reading-size{display:block;margin:0}

.voice-settings-card{padding-top:10px;padding-bottom:10px}
#voice-settings{border:0;margin:0;padding:0}
#voice-settings>summary{display:flex;align-items:center;gap:8px;min-height:44px}
#voice-settings>summary::before{content:"▸";flex:none}
#voice-settings[open]>summary::before{content:"▾"}
#voice-settings>summary::-webkit-details-marker{display:none}
#voice-settings>summary>span:first-of-type{flex:none}
#voice-settings-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#597068;font-weight:450}
#voice-settings-summary::before{content:"· ";}
.voice-settings-content{padding:14px 0 8px}

.text-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.text-actions button{padding:8px 10px}
@media(max-width:380px){.text-actions{gap:0}.text-actions button{padding:8px 6px;font-size:.78rem}}
.site-footer{text-align:left;line-height:1.65}.site-footer details{margin:1rem 0}.site-footer h2{font-size:1.1rem}.site-footer a{color:inherit;text-decoration:underline}.site-footer label{display:block;margin:.75rem 0}.site-footer input{width:100%;padding:.7rem;border:1px solid #a8b6ae;border-radius:.5rem;font:inherit}.site-footer textarea{min-height:7rem}.honey{position:absolute!important;left:-10000px!important}.download-actions{display:flex;gap:.5rem;flex-wrap:wrap}

#feedback-form textarea{height:auto;min-height:150px;resize:vertical;margin-top:8px;padding:12px;border:2px solid #879e91;border-radius:10px;background:#fffef8;color:#203d37;font-size:1rem}#feedback-form textarea::placeholder{color:#596d62}#feedback-form textarea:focus-visible{outline:3px solid #c47743;outline-offset:3px;box-shadow:none}#feedback-form label{color:#203d37}#feedback-form input{background:#fffef8;color:#203d37;font-size:1rem}

.download-links{display:flex;gap:1rem;flex-wrap:wrap;margin:.8rem 0}

/* Compact hosted reader: preserve comfortable touch targets. */
@media(max-width:600px){
 .compact-reader{padding-top:12px}
 .compact-reader header{margin-bottom:12px;padding:0}
 .compact-reader header h1{font-size:1.8rem;margin:6px 0}
 .compact-reader header .eyebrow,.compact-reader header>p:not(:first-child):not(#account-summary){display:none}
 .compact-reader header p{margin:4px 0}
 .compact-reader .card{padding:12px;margin-bottom:10px}
 .compact-reader .reader-help{font-size:.75rem;margin:8px 0 0}
 .compact-reader .mode-controls{margin:8px 0}
 .compact-reader .pdf-import{padding:8px;margin-top:6px}
}

.download-card>details,.cleanup-card>details{border:0;margin:0;padding:0}
.download-card,.cleanup-card{padding-top:10px;padding-bottom:10px}
.download-card>details>summary,.cleanup-card>details>summary{min-height:44px;display:flex;align-items:center}

.download-card>details>summary::before,.cleanup-card>details>summary::before{content:"▸";margin-right:8px}
.download-card>details[open]>summary::before,.cleanup-card>details[open]>summary::before{content:"▾"}
.download-card summary::-webkit-details-marker,.cleanup-card summary::-webkit-details-marker{display:none}

.compact-reader .section-controls{grid-template-columns:1fr 1fr auto}.compact-reader .section-controls .quiet{padding:8px 4px}
