:root{--head:#14532d;--head-fg:#fff;--bg:#f3f5f4;--fg:#15201b;--mut:#55655d;--card:#fff;--line:#d5ddd8;--pri:#14532d;--pri-fg:#fff;--me:#dcf2e3;--bad:#9b1c1c}
@media (prefers-color-scheme:dark){:root{--head:#14532d;--head-fg:#e8efe9;--bg:#0e1512;--fg:#e8efe9;--mut:#9fb1a6;--card:#17211c;--line:#2b3a32;--pri:#4ade80;--pri-fg:#06210f;--me:#1d3a29;--bad:#f87171}}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.45 system-ui,sans-serif;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}
header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--head);color:var(--head-fg)}
header h1{font-size:18px;margin:0;flex:1}
header button{font:inherit;font-size:14px;padding:6px 10px;border-radius:8px;border:1px solid currentColor;background:transparent;color:inherit}
#log{flex:1;overflow-y:auto;padding:12px 12px 4px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:88%;display:flex;flex-direction:column;gap:6px}
.msg.me{align-self:flex-end;align-items:flex-end}
.bubble{padding:10px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.me .bubble{background:var(--me)}
.err .bubble{border-color:var(--bad);color:var(--bad)}
.inline{display:flex;flex-direction:column;gap:6px;width:100%}
.inline button,#menu button{font:inherit;min-height:48px;padding:10px 14px;border-radius:12px;border:1px solid var(--pri);background:var(--card);color:var(--pri);font-weight:600;cursor:pointer}
.inline button:disabled{opacity:.45;cursor:default}
#menu{display:flex;flex-direction:column;gap:6px;padding:8px 12px 0;background:var(--bg)}
#menu .row{display:flex;gap:6px}
#menu .row button{flex:1}
#form{display:flex;gap:8px;padding:8px 12px 12px;background:var(--bg)}
#form input{flex:1;font:inherit;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--fg);min-width:0}
#form button{font:inherit;font-weight:700;padding:12px 18px;border-radius:14px;border:0;background:var(--pri);color:var(--pri-fg)}
.typing{color:var(--mut);font-size:15px;padding-left:6px}
body.plain{display:block;padding:16px}
.card{max-width:460px;margin:8vh auto 0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.card h1{font-size:22px;margin:0 0 12px}
.big{font:inherit;width:100%;min-height:54px;border-radius:14px;border:0;background:var(--pri);color:var(--pri-fg);font-weight:700;font-size:20px}

.gallery{display:flex;flex-wrap:wrap;gap:8px}
.thumb{display:flex;flex-direction:column;width:132px;text-decoration:none;color:var(--fg);font-size:13px;gap:4px}
.thumb img{width:132px;height:132px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:var(--card)}
.thumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inline button.cam{background:var(--pri);color:var(--pri-fg);border-color:var(--pri);min-height:56px;font-size:19px}
