:root{--bg:#f2f4ef;--surface:#fbfcf9;--ink:#1c2520;--muted:#5d6b62;--line:#d7ded5;--juniper:#2e6a57;--juniper-ink:#fff;--juniper-soft:#e1ece5;--lamp:#a8721f;--alert-bg:#fbede6;--alert-ink:#7a2b12;--alert-line:#e9b9a4;--f-display:"Young Serif", Georgia, serif;--f-voice:"Spectral", Georgia, serif;--f-ui:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111713;--surface:#18201b;--ink:#e3e9e3;--muted:#9aa89f;--line:#2b362f;--juniper:#7cc0a5;--juniper-ink:#0e1a14;--juniper-soft:#1f2e27;--lamp:#e2b062;--alert-bg:#2e1a13;--alert-ink:#f6c3ae;--alert-line:#5a3324;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#111713;--surface:#18201b;--ink:#e3e9e3;--muted:#9aa89f;--line:#2b362f;--juniper:#7cc0a5;--juniper-ink:#0e1a14;--juniper-soft:#1f2e27;--lamp:#e2b062;--alert-bg:#2e1a13;--alert-ink:#f6c3ae;--alert-line:#5a3324;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{height:100%;margin:0}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font-family:var(--f-ui);font-size:15px;line-height:1.5}.app{max-width:720px;height:100%;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));flex-direction:column;margin:0 auto;display:flex}header.bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:14px;display:flex}.brand{align-items:baseline;gap:10px;display:flex}.brand h1{font-family:var(--f-display);letter-spacing:.01em;margin:0;font-size:24px;font-weight:400}.brand .ref{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px}.chip{background:var(--juniper-soft);color:var(--juniper);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500}main{flex:1;min-height:0;padding-block:20px;overflow-y:auto}.screen{flex-direction:column;gap:18px;display:flex}.lede{font-family:var(--f-voice);text-wrap:pretty;max-width:60ch;margin:0;font-size:19px;line-height:1.55}.verse{font-family:var(--f-voice);color:var(--muted);border-left:2px solid var(--lamp);max-width:60ch;margin:0;padding-left:12px;font-style:italic}.notice{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.notice h2,.panel h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:600}.notice ul{gap:6px;margin:0;padding-left:18px;display:grid}label.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}label.check input{accent-color:var(--juniper);flex:none;width:16px;height:16px;margin-top:4px}.btn{white-space:nowrap;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 18px;font-weight:600}.btn.primary{background:var(--juniper);color:var(--juniper-ink)}.btn.primary:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn.small{padding:6px 12px;font-size:13px}.btn:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--juniper);outline-offset:2px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.modes{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.mode{text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.mode b{font-weight:600}.mode span{color:var(--muted);font-size:13px}.mode[aria-pressed=true]{border-color:var(--juniper);box-shadow:inset 0 0 0 1px var(--juniper);background:var(--juniper-soft)}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:600}.field small{color:var(--muted)}textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);resize:vertical;box-sizing:border-box;border-radius:10px;width:100%;min-height:48px;padding:10px 12px}.msgs{flex-direction:column;gap:16px;display:flex}.msg{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;max-width:88%}.msg.j{font-family:var(--f-voice);align-self:flex-start;font-size:17px;line-height:1.6}.msg.j:before{content:"Jethro";font-family:var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--lamp);margin-bottom:2px;font-size:11px;display:block}.msg.u{background:var(--juniper-soft);border-radius:12px 12px 4px;align-self:flex-end;padding:10px 14px}.msg.thinking{color:var(--muted);font-style:italic}.crisis{background:var(--alert-bg);color:var(--alert-ink);border:1px solid var(--alert-line);border-radius:10px;padding:14px 16px}.crisis h2{color:var(--alert-ink);letter-spacing:0;text-transform:none;margin:0 0 6px;font-size:15px}.crisis ul{margin:0 0 6px;padding-left:18px}.crisis p{margin:0;font-size:13px}footer.compose{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-block:12px;display:flex}.compose .row{flex-wrap:nowrap;align-items:flex-end}.compose textarea{flex:1;min-width:0;max-height:160px}.fine{color:var(--muted);margin:0;font-size:12px}.meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.meta .fine{flex:260px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.summary{white-space:pre-wrap;font-family:var(--f-voice);overflow-wrap:anywhere;font-size:16px;line-height:1.6}.err{color:var(--alert-ink);font-size:13px}.btn.mic{background:var(--surface);color:var(--juniper);border-color:var(--line);justify-content:center;align-items:center;padding:10px 12px;display:inline-flex}.btn.mic[aria-pressed=true]{background:var(--juniper);color:var(--juniper-ink);border-color:var(--juniper)}.btn.small[aria-pressed=true]{border-color:var(--juniper);color:var(--juniper);background:var(--juniper-soft)}@media (prefers-reduced-motion:no-preference){.btn.mic[aria-pressed=true]{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 6px var(--juniper-soft)}}.msg{animation:.25s ease-out in}@keyframes in{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}}.gate{flex-wrap:wrap;gap:10px;display:flex}.gate input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;flex:180px;min-width:0;padding:9px 12px}select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;flex:220px;min-width:0;max-width:100%;padding:8px 10px}
