:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1b1f23;background:#f5f6f8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:36px 0 28px}.site-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}.eyebrow{font-size:12px;letter-spacing:.08em;color:#68717d;text-transform:uppercase;margin-bottom:8px}h1{margin:0;font-size:clamp(28px,5vw,42px);line-height:1.1}.site-header p,.section-heading p{margin:10px 0 0;color:#68717d;line-height:1.6}.ghost-button,.primary-button{border-radius:10px;padding:10px 15px;border:1px solid #cfd5dc;background:#fff}.primary-button{background:#1b1f23;color:#fff;border-color:#1b1f23;font-weight:650}.primary-button:disabled{opacity:.45;cursor:not-allowed}.alert{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;border-radius:12px;padding:12px 14px;margin:12px 0;line-height:1.5}.alert.warning{background:#fff7e6;border:1px solid #f0d18c}.alert.error{display:block;background:#fff0f0;border:1px solid #efb1b1}.alert button{border:0;background:transparent;color:inherit;font-size:20px;line-height:1;padding:0 4px}.reader-card,.input-card{background:#fff;border:1px solid #dfe3e8;border-radius:18px;box-shadow:0 8px 24px #191e230d}.reader-card{padding:18px}.reader-topline{display:flex;justify-content:space-between;gap:12px;color:#68717d;font-size:13px}.document-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65%}.progress-meta{display:flex;gap:14px}.reader-stage{position:relative;min-height:300px;margin:8px 0;display:grid;place-items:center;overflow:hidden}.focus-line{position:absolute;left:50%;top:18%;bottom:18%;width:1px;background:#8c949e40}.rsvp-text{position:relative;z-index:1;max-width:min(90%,800px);padding:0 44px;text-align:center;font-size:clamp(34px,7vw,64px);font-weight:720;letter-spacing:.04em;line-height:1.25;overflow-wrap:anywhere}.progress-range{display:block;width:100%;margin:0;accent-color:#1b1f23;cursor:pointer}.reader-controls{display:flex;justify-content:center;gap:8px;align-items:center;padding:16px 0 10px;flex-wrap:wrap}.reader-controls button{min-width:46px;height:42px;border:1px solid #d7dce2;background:#fff;border-radius:9px;color:#2a3036}.reader-controls .play-button{min-width:64px;background:#1b1f23;color:#fff;border-color:#1b1f23;font-size:18px}.speed-area{width:min(760px,100%);margin:0 auto;padding:12px 4px 4px}.speed-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.speed-row label{font-weight:650}.speed-row output{color:#5c6570;font-variant-numeric:tabular-nums}.speed-area input[type=range]{width:100%;accent-color:#1b1f23}.speed-scale{display:flex;justify-content:space-between;color:#88919c;font-size:11px}.keyboard-hint{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 16px;text-align:center;color:#8b949e;font-size:12px;margin-top:10px}.input-card{margin-top:18px;padding:18px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}h2{margin:0;font-size:20px}.privacy-note{font-size:12px;color:#58616c;border:1px solid #e1e5e9;padding:7px 9px;border-radius:999px;white-space:nowrap}textarea{width:100%;min-height:180px;margin-top:15px;padding:14px;resize:vertical;border:1px solid #d7dce2;border-radius:12px;background:#fafbfc;color:#1b1f23;line-height:1.75;outline:none}textarea:focus{border-color:#8f98a3;background:#fff}.input-actions{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.drop-zone{flex:1;min-width:240px;padding:12px;border:1px dashed #c8cfd7;border-radius:10px;color:#727c87;text-align:center;background:#fafbfc}.site-footer{display:flex;justify-content:space-between;gap:12px;margin-top:18px;color:#858e99;font-size:12px}@media (max-width: 700px){.app-shell{width:min(100% - 20px,680px);padding-top:20px}.site-header{flex-direction:column}.site-header .ghost-button{align-self:stretch}.reader-card,.input-card{border-radius:14px;padding:14px}.reader-stage{min-height:250px}.rsvp-text{font-size:clamp(30px,10vw,48px);padding:0 30px}.focus-line{top:14%;bottom:14%}.reader-controls{gap:6px}.reader-controls button{min-width:42px}.section-heading{flex-direction:column}.privacy-note{white-space:normal}.site-footer{flex-direction:column}}
