/* AxForge chat starter — self-contained styles, no framework. */
:root{
  --bg:#070b14; --panel:#0d1420; --line:#1e2b3f; --line-2:#28374f;
  --ink:#e7edf7; --dim:#8ea3c0; --faint:#5f7593;
  --blue:#2e9bff; --cyan:#7df9ff; --err:#ff8a8a;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.5;display:flex;justify-content:center}
.app{width:100%;max-width:44rem;height:100dvh;display:flex;flex-direction:column;
  border-inline:1px solid var(--line);background:linear-gradient(180deg,#080d17,#070b14)}

.app__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 1rem;border-bottom:1px solid var(--line);background:rgba(8,13,23,.9);
  position:sticky;top:0;z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.app__id{display:flex;align-items:center;gap:.65rem}
.app__logo{color:var(--blue);font-size:1.3rem;line-height:1}
.app__id strong{display:block;font-size:.98rem}
.app__id small{color:var(--dim);font-size:.74rem}

.ghost{background:transparent;border:1px solid var(--line-2);color:var(--ink);
  border-radius:.55rem;padding:.42rem .8rem;font-size:.85rem;cursor:pointer;font-family:inherit}
.ghost:hover{border-color:var(--blue)}

.settings{display:grid;gap:.75rem;padding:1rem;border-bottom:1px solid var(--line);
  background:var(--panel)}
.settings label{display:grid;gap:.3rem}
.settings span{font-size:.8rem;color:var(--dim)}
.settings small{color:var(--faint)}
.settings input{background:#060a12;border:1px solid var(--line-2);color:var(--ink);
  border-radius:.5rem;padding:.55rem .65rem;font-family:var(--mono);font-size:.9rem}
.settings input:focus{outline:none;border-color:var(--blue)}
.settings__note{margin:0;font-size:.76rem;color:var(--faint)}

.log{flex:1;overflow-y:auto;padding:1.1rem 1rem;display:flex;flex-direction:column;gap:.7rem}
.msg{max-width:85%;padding:.6rem .8rem;border-radius:.8rem;border:1px solid var(--line);
  white-space:pre-wrap;word-break:break-word}
.msg p{margin:0}
.msg--sys{align-self:center;max-width:100%;text-align:center;color:var(--dim);
  background:transparent;border:0;font-size:.86rem}
.msg--user{align-self:flex-end;background:#123056;border-color:#1c4680}
.msg--assistant{align-self:flex-start;background:var(--panel);border-left:2px solid var(--cyan)}
.msg--err{border-color:var(--err);color:var(--err)}

.composer{display:flex;gap:.55rem;padding:.8rem 1rem;border-top:1px solid var(--line);
  background:rgba(8,13,23,.9)}
.composer textarea{flex:1;resize:none;background:#060a12;border:1px solid var(--line-2);
  color:var(--ink);border-radius:.7rem;padding:.65rem .75rem;font-family:inherit;font-size:.95rem;
  line-height:1.45;max-height:160px}
.composer textarea:focus{outline:none;border-color:var(--blue)}
.composer button{background:var(--blue);border:0;color:#04101f;font-weight:700;
  border-radius:.7rem;padding:0 1.15rem;cursor:pointer;font-family:inherit;font-size:.95rem}
.composer button:hover{background:#4facff}
.composer button:disabled{opacity:.5;cursor:default}

.status{margin:0;padding:0 1rem .6rem;min-height:1.1rem;font-size:.78rem;color:var(--dim)}
