:root{color-scheme:light dark;--bg:#fff;--fg:#1b1f24;--card:#f2f4f7;--ac:#1f6feb;--ok:#1a7f37;--bad:#cf222e}
@media(prefers-color-scheme:dark){:root{--bg:#0d1117;--fg:#e6edf3;--card:#1c2128;--ac:#4c8dff;--ok:#3fb950;--bad:#f85149}}
*{box-sizing:border-box}html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--fg);font:16px/1.4 system-ui,sans-serif;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
button{font:inherit;padding:.5em .8em;border:1px solid var(--ac);border-radius:8px;background:none;color:var(--fg)}
.k button,.k a{display:block;flex:1;text-align:center;text-decoration:none;color:var(--fg);padding:.5em .8em;border:1px solid var(--ac);border-radius:8px;background:none;cursor:pointer}
.k .success{border-color:var(--ok);color:var(--ok)}.k .danger{border-color:var(--bad);color:var(--bad)}.k .primary{background:var(--ac);color:#fff}
#login{max-width:320px;margin:15vh auto;display:grid;gap:.6em;padding:1em}
input,textarea{font:inherit;padding:.6em;border:1px solid var(--card);border-radius:8px;background:var(--card);color:var(--fg);width:100%}
#app{display:flex;flex-direction:column;height:100%;max-width:760px;margin:auto}
header,footer{display:flex;gap:.4em;padding:.5em;flex-wrap:wrap}footer{flex-direction:column}footer div{display:flex;gap:.4em}
#feed{flex:1;overflow-y:auto;padding:.5em}
.m{background:var(--card);border-radius:12px;padding:.7em;margin:.5em 0}.t{white-space:pre-wrap;word-break:break-word}
.k{display:grid;gap:.4em;margin-top:.5em}.r{display:flex;gap:.4em;flex-wrap:wrap}
#toast{position:fixed;left:50%;bottom:5em;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:.5em 1em;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s}
#toast.on{opacity:1}#toast.bad{background:var(--bad);color:#fff}#err{color:var(--bad);margin:0}
[hidden]{display:none!important}
