﻿/* Landing only: preserve authenticated application styles. */
.lw-landing-body .lw-landing-hero-inner { max-width:1260px; min-height:0; padding:16px 28px 52px; align-items:start; grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); gap:70px; }
.lw-landing-book { display:block; width:460px; max-width:100%; height:240px; object-fit:cover; object-position:center; margin:0 0 12px; }
.lw-landing-body .lw-hero-copy { min-width:0; text-align:left; }
.lw-landing-body .lw-hero-copy h1 { font-weight:400; font-size:clamp(42px,4.4vw,62px); line-height:1.08; letter-spacing:-1.8px; margin-bottom:24px; }
.lw-landing-body .lw-hero-description { font-size:19px; line-height:1.65; }
.lw-landing-body .lw-hero-actions { display:flex; justify-content:flex-start; margin-top:30px; gap:12px; }
.lw-landing-body .lw-hero-actions .lw-btn { min-width:0; width:auto; min-height:50px; padding:12px 22px; }
.lw-landing-promises { padding:0; margin:24px 0 0; list-style:none; display:flex; flex-wrap:wrap; gap:12px 22px; color:var(--lw-green-dark); font-size:16px; font-weight:600; }
.lw-landing-promises span { color:var(--lw-green); margin-right:3px; }
.lw-demo { min-width:0; padding:28px; background:var(--lw-paper); border:1px solid var(--lw-border); border-radius:22px; box-shadow:0 18px 60px rgba(32,48,41,.08); }
.lw-demo h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:28px; margin:0 0 20px; }
.lw-demo button { cursor:pointer; color:var(--lw-green-dark); }
.lw-demo button:focus-visible,.lw-demo select:focus-visible { outline:2px solid var(--lw-green); outline-offset:3px; }
.lw-demo [hidden] { display:none !important; }
.lw-demo-modes { display:flex; gap:6px; border-bottom:1px solid var(--lw-border); padding-bottom:16px; }
.lw-demo-modes button { background:transparent; border:0; border-radius:20px; padding:10px 12px; font-size:13px; min-height:44px; }
.lw-demo-modes button[aria-pressed="true"] { background:#e9eee7; font-weight:600; }
.lw-demo-language { display:flex; gap:8px; align-items:center; justify-content:space-between; margin:10px 0 12px; font-size:12px; color:#59685e; }
.lw-demo-language select { min-width:0; max-width:150px; min-height:44px; border:1px solid var(--lw-border); border-radius:9px; background:var(--lw-paper); color:var(--lw-green-dark); padding:4px 8px; }
.lw-demo-hint { font-size:13px; line-height:1.5; color:#637166; margin:0 0 10px; }
.lw-demo-input { min-height:0; }
.lw-demo-story { font-family:Georgia,"Times New Roman",serif; font-size:18px; line-height:1.45; margin:0; }
.lw-demo-story button { min-height:30px; min-width:24px; border:0; text-decoration:none; background:transparent; padding:0 1px; font:inherit; line-height:inherit; }
.lw-demo-story button:hover,.lw-demo-story button[aria-pressed="true"] { background:#f4e6b9; border-radius:4px; }
.lw-demo-result { min-height:156px; margin-top:16px; padding:18px 20px; border-radius:13px; background:#f2f3ec; }
.lw-demo-result strong { display:block; font-size:21px; font-weight:600; overflow-wrap:anywhere; }
#demoTranslation { font-size:18px; margin:4px 0 14px; overflow-wrap:anywhere; }
.lw-demo-result-actions { display:flex; gap:20px; }
.lw-demo-result-actions button { display:inline-flex; gap:6px; align-items:center; border:0; background:transparent; min-height:44px; padding:0; font-size:14px; }
.lw-demo svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.lw-demo button:disabled { opacity:.45; cursor:default; }
#demoResultStatus { margin:8px 0 0; min-height:20px; }
.lw-demo-mic { display:flex; align-items:center; justify-content:center; width:62px; height:62px; margin:12px auto; border:0; border-radius:50%; background:var(--lw-green); color:white !important; }
.lw-demo-mic[aria-pressed="true"] { background:#aa443d; }
.lw-demo-mic svg { width:28px; height:28px; }
.lw-demo-examples { display:flex; flex-wrap:wrap; gap:6px; }
.lw-demo-examples button { background:transparent; border:1px solid var(--lw-border); border-radius:18px; min-height:44px; padding:6px 10px; font-size:12px; }
.lw-landing-story { max-width:1200px; margin:0 auto; padding:108px 28px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:84px; align-items:center; }
.lw-landing-story h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(32px,3vw,44px); line-height:1.15; font-weight:400; margin:0 0 20px; }
.lw-landing-story > div > p { color:#637166; line-height:1.75; font-size:18px; margin-bottom:20px; }
.lw-landing-story-note { color:var(--lw-green); font-size:14px; }
.lw-landing-preview { padding:36px; background:var(--lw-paper); border-radius:16px; }
.lw-landing-reader-preview > p { font-family:Georgia,"Times New Roman",serif; color:var(--lw-ink) !important; font-size:23px !important; }
.lw-landing-preview mark { background:#f4e6b9; color:inherit; padding:2px; border-radius:4px; }
.lw-landing-preview-meaning { border-top:1px solid var(--lw-border); padding-top:20px; font-size:20px; }
.lw-landing-preview-meaning span { display:block; color:var(--lw-green); font-size:17px; margin-top:4px; }
.lw-landing-story-reverse > div:first-child { order:2; }
.lw-landing-chat-preview > p { padding:20px; border-radius:15px; background:#e9eee7; margin-right:28px; color:var(--lw-green-dark) !important; font-size:17px !important; }
.lw-landing-chat-preview > p + p { background:#f4ead2; margin:20px 0 0 28px; }
.lw-landing-world-preview { text-align:center; }
.lw-landing-world-preview > p { color:var(--lw-green-dark) !important; font-family:Georgia,"Times New Roman",serif; font-size:26px !important; margin:18px 0 !important; }
@media(max-width:1000px) {
 .lw-landing-body .lw-landing-hero-inner { grid-template-columns:1fr; max-width:680px; padding:16px 28px 44px; gap:28px; }
 .lw-landing-story { gap:38px; padding:72px 28px; }
}
@media(max-width:600px) {
 .lw-landing-body .lw-landing-hero-inner { padding:10px 18px 36px; gap:20px; }
 .lw-landing-body .lw-hero-copy h1 { font-size:42px; letter-spacing:-1.3px; }
 .lw-landing-body .lw-hero-description { font-size:17px; }
 .lw-landing-body .lw-hero-actions { gap:8px; }
 .lw-landing-body .lw-hero-actions .lw-btn { flex:1; padding:12px 10px; font-size:14px; }
 .lw-landing-promises { font-size:14px; gap:10px 16px; }
 .lw-demo { padding:22px 18px; border-radius:18px; }
 .lw-demo h2 { font-size:25px; }
 .lw-demo-modes button { padding:8px; font-size:12px; flex:1; }
 .lw-demo-story { font-size:17px; }
 .lw-demo-input { min-height:0; }
 .lw-landing-book { width:300px; height:158px; margin-bottom:10px; }
 .lw-demo-result { padding:16px; }
 .lw-landing-story { grid-template-columns:1fr; gap:28px; padding:60px 18px; }
 .lw-landing-story-reverse > div:first-child { order:0; }
 .lw-landing-preview { padding:28px 22px; }
}

#demoNextText { flex:0 0 auto; padding:6px 10px; min-height:44px; border:1px solid var(--lw-border); border-radius:16px; background:transparent; font-size:12px; }
.lw-demo-word-example { margin:8px 0 14px; font-family:Georgia,"Times New Roman",serif; font-size:15px; line-height:1.5; color:var(--lw-green-dark); }
.lw-demo-word-example:empty { display:none; }

/* Keep the public header visible; clip avoids creating a body scroll container that breaks sticky. */
.lw-landing-body { overflow-x:clip; }
.lw-landing-body .lw-public-header { position:sticky; top:0; z-index:1100; background:var(--lw-paper); }
#demoReadMode { flex:0 1 auto; }

.lw-demo-meaning-language { display:flex; align-items:center; gap:6px; min-width:0; }
.lw-demo-meaning-language label { margin:0; white-space:nowrap; }
@media(max-width:400px) {
 .lw-demo-language { gap:6px; font-size:11px; }
 .lw-demo-language select { max-width:96px; padding:4px; font-size:11px; }
 #demoNextText { padding:6px 8px; font-size:11px; }
}

/* Keep the sentence pair together and confine Spanish paradigms to one scrollable row. */
.lw-demo-word-example { margin-bottom:4px; }
.lw-demo-sentence-translation { margin:0 0 14px; font-size:14px; line-height:1.5; color:#59685e; }
.lw-demo-sentence-translation:empty { display:none; }
.lw-demo-verbs { min-width:0; margin:12px 0 16px; }
.lw-demo-verbs .lw-demo-hint { margin-bottom:4px; }
.lw-demo-verb-row { max-width:100%; overflow-x:auto; white-space:nowrap; font-size:13px; line-height:1.6; margin:0; padding:4px 0 8px; color:var(--lw-green-dark); }
.lw-demo-verb-row:focus-visible { outline:2px solid var(--lw-green); outline-offset:2px; }
