.lna { --lna-forest:#244936; --lna-ink:#263e30; --lna-muted:#627065; --lna-cream:#faf9f3; --lna-gold:#b09a65; color:var(--lna-ink); font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-align:left; }
.lna *, .lna *::before, .lna *::after { box-sizing:border-box; }
.lna [hidden] { display:none !important; }
.lna button, .lna textarea, .lna input { font:inherit; letter-spacing:normal; text-transform:none; }
.lna button { cursor:pointer; margin:0; line-height:1.35; min-height:44px; box-shadow:none; }
.lna button:disabled { opacity:.4; cursor:not-allowed; }
.lna button:focus-visible,.lna a:focus-visible,.lna input:focus-visible,.lna textarea:focus-visible { outline:3px solid #8c743a; outline-offset:3px; }
.lna a { color:var(--lna-forest); text-decoration:underline; text-underline-offset:3px; }
.lna p { margin:0; padding:0; }
.lna-floating { position:fixed; right:24px; bottom:24px; z-index:99990; }
.lna-launch { display:flex; align-items:center; gap:10px; padding:14px 22px; border:1px solid #41634a; border-radius:50px; background:var(--lna-forest); color:#fff; box-shadow:0 5px 30px #18352533 !important; font-weight:600 !important; }
.lna-launch span { font-size:25px; line-height:1; color:#d8c88f; }
.lna-panel { width:430px; height:min(740px,calc(100dvh - 108px)); min-height:390px; display:flex; flex-direction:column; border:1px solid #d6ddcf; border-radius:20px; overflow:hidden; background:var(--lna-cream); box-shadow:0 16px 65px #17342326; }
.lna-floating .lna-panel { position:absolute; right:0; bottom:68px; }
.lna-preview { max-width:480px; margin:22px 0 30px; }
.lna-preview .lna-panel { width:100%; height:760px; max-height:none; }
.lna-header { display:flex; align-items:center; gap:12px; padding:17px 20px; background:var(--lna-forest); color:#fff; flex-shrink:0; }
.lna-mark { display:grid; place-items:center; width:38px; height:38px; border:1px solid #ffffff33; border-radius:50%; font-size:28px; color:#d7c58e; }
.lna-heading { flex:1; display:flex; flex-direction:column; gap:2px; }
.lna-heading strong { color:#fff; font:26px/1 Georgia,serif; letter-spacing:.5px; }
.lna-heading span { color:#e1e8dc; font-size:11px; letter-spacing:.5px; }
.lna-header button { width:36px; padding:4px; border:0; background:transparent; color:#fff; font-size:23px; border-radius:7px; }
.lna-header button:hover { background:#ffffff1a; }
.lna-scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.lna-welcome { padding:30px 26px 18px; }
.lna-eyebrow { color:#716441; font-size:10px; font-weight:600; letter-spacing:1.6px; }
.lna-welcome h2 { margin:13px 0 15px; padding:0; color:var(--lna-ink); font:34px/1.13 Georgia,"Times New Roman",serif; letter-spacing:-.6px; }
.lna-welcome > p:not(.lna-eyebrow) { color:var(--lna-muted); font-size:14px; line-height:1.6; }
.lna-prompts { margin-top:23px; display:grid; gap:8px; }
.lna-prompts button { text-align:left; background:transparent; border:1px solid #d5dbcf; border-radius:9px; color:var(--lna-ink); padding:12px 14px; font-size:13px; }
.lna-prompts button:hover { border-color:#6d8068; background:#f0f2e9; }
.lna-connection { margin-top:18px !important; font-size:11px !important; }
.lna-bottom { flex-shrink:0; padding:14px 18px 12px; border-top:1px solid #e1e5d9; background:#f6f6ee; }
.lna-notice { margin-bottom:12px; color:#5d6b5e; font-size:11px; line-height:1.5; }
.lna-notice label { display:flex; gap:7px; align-items:flex-start; cursor:pointer; }
.lna-notice input { margin:2px 0 0; width:16px; height:16px; flex-shrink:0; accent-color:var(--lna-forest); }
.lna-notice p { margin:5px 0 0 23px; font-size:10px; }
.lna-privacy { margin-top:8px; font-size:12px; }
.lna-privacy summary { cursor:pointer; color:var(--lna-forest); text-decoration:underline; text-underline-offset:3px; }
.lna-privacy summary:focus-visible,.lna-privacy-body:focus-visible { outline:3px solid #8c743a; outline-offset:2px; }
.lna-privacy-body { max-height:min(180px,28dvh); overflow:auto; margin-top:8px; padding:0 8px 3px 0; overscroll-behavior:contain; }
.lna-notice .lna-privacy-body p { margin:0 0 10px; font-size:12px; line-height:1.55; }
.lna-form { display:flex; align-items:flex-end; gap:8px; border:1px solid #cdd6c8; border-radius:12px; background:#fff; padding:7px; margin:0; }
.lna-form textarea { display:block; width:100%; min-width:0; flex:1; min-height:46px; max-height:120px; padding:6px; margin:0; border:0; border-radius:5px; resize:vertical; background:#fff; color:var(--lna-ink); font-size:14px; line-height:1.5; box-shadow:none; }
.lna-form textarea::placeholder { color:#768170; opacity:1; }
.lna-send { flex-shrink:0; width:42px; min-height:42px !important; border:0; border-radius:9px; background:var(--lna-forest); color:#fff; font-size:25px !important; padding:5px !important; }
.lna-disclaimer { padding-top:9px !important; text-align:center; font-size:10px; color:#66725f; line-height:1.4; }
.lna-status { color:#7a432a; font-size:12px; padding-top:7px !important; }
.lna-status:empty { padding:0 !important; }
.lna-messages { padding:0 20px 20px; }
.lna-message { padding:15px 0; margin:0; border-bottom:1px solid #e2e7dc; overflow-wrap:anywhere; }
.lna-message-label { display:block; font-size:11px; color:var(--lna-muted); margin-bottom:6px; }
.lna-message-body { white-space:pre-wrap; font-size:14px; line-height:1.7; }
.lna-user .lna-message-body { background:#e8ede1; border-radius:10px; padding:12px; }
.lna-sources { display:flex; flex-direction:column; gap:6px; margin-top:15px; font-size:11px; }
.lna-sources span { text-transform:uppercase; letter-spacing:1px; color:var(--lna-muted); font-size:9px; }
.lna-sources a { display:block; }
.lna-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:520px) {
  .lna-floating { right:14px; bottom:14px; }
  .lna-floating .lna-panel { width:calc(100vw - 28px); bottom:66px; height:calc(100dvh - 104px); min-height:0; }
  .lna-preview .lna-panel { height:730px; }
  .lna-welcome { padding:24px 22px 16px; }
  .lna-welcome h2 { font-size:31px; }
}
@media(prefers-reduced-motion:reduce) { .lna * { scroll-behavior:auto !important; } }
