:root{font-family:Arial,Helvetica,sans-serif;color:#202826;background:#f5f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:30px 36px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:12px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:12px}.logo{font-size:28px;letter-spacing:-5px;background:#233c32;color:white;border-radius:9px;width:40px;height:40px;padding:4px 8px}.logo span{color:#e99687}.privacy{font-size:12px;color:#52665a}.intro{margin:64px 0 34px}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:700;color:#657669}h1{font-size:clamp(40px,6vw,66px);line-height:1.06;letter-spacing:-2.5px;margin:18px 0 22px}h1 span{color:#b5362b}.intro>p:last-child{font-size:16px;line-height:1.65;color:#66706b}.controls{display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid #dce1d9;border-radius:13px;padding:26px;gap:32px}.field label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:bold;margin-bottom:16px}.step{display:inline-grid;place-items:center;font-size:11px;background:#eef1e9;color:#50604e;border-radius:50%;width:23px;height:23px}input{width:100%;min-height:47px;border:1px solid #cbd3c9;border-radius:7px;background:#fff;color:#29352e;padding:11px;font:14px Arial}input[type=file]{padding:6px;font-size:12px}input::file-selector-button{border:0;background:#233c32;color:#fff;padding:9px 12px;border-radius:4px;margin-right:10px;cursor:pointer}input:disabled{background:#f6f7f4}input:focus-visible{outline:3px solid #a4bba6;outline-offset:2px}.hint{font-size:11px;color:#707a73;margin:10px 0 0;line-height:1.5}.reader{margin-top:24px;border:1px solid #dce1d9;background:white;border-radius:13px;overflow:hidden}.reader-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fafbf8;border-bottom:1px solid #e4e8e0;padding:18px 25px}h2{font-size:14px;margin:0;overflow-wrap:anywhere}#count{font-size:12px;white-space:nowrap;background:#edf1e8;color:#4a5d4d;border-radius:20px;padding:7px 12px}#message{padding:62px 25px;text-align:center;font-size:14px;color:#7a847d}#text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.85;padding:28px 32px;min-height:220px}mark{background:#fce2de;color:#b51f17;border-radius:2px;padding:1px 0;text-decoration:underline;text-decoration-color:#e8a29b;text-underline-offset:3px}footer{display:flex;justify-content:space-between;gap:20px;color:#7b847c;font-size:11px;margin:22px 2px 12px}@media(max-width:640px){main{padding:22px 18px}header{align-items:flex-start}.privacy{max-width:130px;line-height:1.5}.intro{margin-top:44px}h1{letter-spacing:-1.5px}.controls{grid-template-columns:1fr;padding:20px;gap:25px}.desktop{display:none}.reader-bar{padding:16px}#text{padding:20px;font-size:15px}footer{flex-direction:column;gap:8px}}

/* Compact layout: keep the controls and results near the top. */
main{max-width:1200px;padding:20px 28px}.intro{margin:24px 0 18px}h1{font-size:28px;letter-spacing:-.8px;margin:0 0 8px}.intro>p:last-child{font-size:14px;margin:0;line-height:1.5}.controls{padding:18px;gap:24px}.field label{margin-bottom:10px}.hint{margin-top:7px}.reader{margin-top:16px}.reader-bar{padding:13px 20px}#message{padding:34px 20px}#text{padding:20px 25px;min-height:260px}footer{margin-top:15px}@media(max-width:640px){main{padding:18px 14px}.intro{margin:22px 0 16px}h1{font-size:26px}.controls{padding:16px;gap:18px}#text{padding:16px}}
/* Dark palette with clear surfaces and accessible red highlights. */
:root{color-scheme:dark;color:#e7ece9;background:#151b19}
.logo{background:#344c40;color:#f2f6f3}.logo span{color:#ffaaa1}
.privacy{color:#a6bcae}.intro>p:last-child{color:#aab7af}
.controls,.reader{background:#202925;border-color:#3b4941;box-shadow:0 8px 28px #00000015}
.step{background:#33493b;color:#d2e8d4}.field label{color:#e7eee9}
input{background:#151e19;color:#edf3ee;border-color:#526156}
input::placeholder{color:#a0ada4}input:disabled{background:#1b231e}
input::file-selector-button{background:#a7c5a9;color:#14251a;font-weight:600}
input:focus-visible{outline-color:#c1dec1}
.hint{color:#a7b4ab}.reader-bar{background:#27322c;border-color:#3b4941}
#count{background:#364b3c;color:#e0eddf}#message{color:#acb9b0}
#text{color:#e4ece6}mark{background:#642a2e;color:#ffd2cc;text-decoration-color:#ff8b83}
footer{color:#9baa9f}
mark{background:#a42b35;color:#ffffff;outline:1px solid #ff8e92;border-radius:3px;padding:1px 2px;font-weight:700;text-decoration:none}
/* Neutral black and charcoal palette. */
:root{color:#eeeeee;background:#101010}.logo{background:#333333;color:#ffffff}.logo span{color:#ffaaaa}.privacy{color:#b5b5b5}.intro>p:last-child{color:#b5b5b5}.controls,.reader{background:#1d1d1d;border-color:#414141;box-shadow:0 8px 28px #00000026}.step{background:#383838;color:#eeeeee}.field label{color:#eeeeee}input{background:#141414;color:#f2f2f2;border-color:#626262}input::placeholder{color:#aaaaaa}input:disabled{background:#242424}input::file-selector-button{background:#d3d3d3;color:#171717}input:focus-visible{outline-color:#dedede}.hint{color:#b0b0b0}.reader-bar{background:#262626;border-color:#414141}#count{background:#3b3b3b;color:#eeeeee}#message{color:#b8b8b8}#text{color:#eeeeee}footer{color:#aaaaaa}
/* Matching lines reuse the existing reader panel and red highlights. */
#result-lines{list-style:none;padding:0;margin:0;max-height:360px;overflow:auto}
#result-lines li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;padding:14px 20px;border-bottom:1px solid #414141}
#result-lines li:last-child{border-bottom:0}.line-number{font-size:12px;color:#aaaaaa;line-height:1.85}.line-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:15px}
#line-count{font-size:12px;color:#bbbbbb}#no-results{padding:20px;margin:0;color:#bbbbbb;font-size:14px}
@media(max-width:640px){#result-lines li{grid-template-columns:62px minmax(0,1fr);gap:10px;padding:12px 16px}}
/* Compact proportions; retain the accepted palette and result list. */
main{max-width:960px;padding:18px 24px}.intro{margin:18px 0 14px}h1{font-size:24px;margin-bottom:6px}.intro>p:last-child{font-size:13px}.controls{padding:14px 16px;gap:20px}.field label{font-size:13px;margin-bottom:8px}.step{width:21px;height:21px}input{min-height:40px;padding:9px;font-size:13px}input[type=file]{padding:5px}input::file-selector-button{padding:7px 10px}.hint{margin-top:6px}.reader{margin-top:14px}.reader-bar{padding:11px 16px}#text{padding:16px 20px;min-height:180px;max-height:460px;overflow:auto;font-size:15px;line-height:1.75}#message{padding:26px 16px}footer{margin-top:12px}.logo{width:34px;height:34px;font-size:24px;padding:3px 6px}.brand{gap:10px;font-size:11px}
@media(max-width:640px){main{padding:16px 14px}.intro{margin:18px 0 14px}h1{font-size:23px}.controls{padding:14px;gap:16px}#text{padding:14px 16px;max-height:400px}}
#text{min-height:140px;max-height:300px}@media(max-width:640px){#text{max-height:280px}}
