/* 本番だけで足したもの(ログインの画面・設定)。色や形は試作の app.css の決まりを使う */
.login{max-width:420px;margin:18px auto 0}
.login label.f{display:grid;gap:4px;font-size:.88rem;font-weight:700}
.login label.f input{font:inherit;font-weight:500;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.code{letter-spacing:.4em;font-size:1.3rem;text-align:center}
.err{color:var(--bad);font-size:.84rem;margin:0}
.link{background:none;border:0;padding:0;color:var(--blue);text-decoration:underline;font-size:.86rem}
.set{display:grid;gap:8px}
.set input[type=password],.set input[type=email],.set input[type=text]{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 10px;width:100%}
.unread{background:var(--sun);color:var(--sun-ink);border-radius:99px;font-size:.68rem;padding:0 7px;font-weight:700;flex:none}
.msg.sys{max-width:100%;justify-self:center}
.msg.sys .b{background:var(--sun-soft);color:var(--sun-deep);border-radius:12px;font-size:.8rem;box-shadow:none}
.set label.meta{display:grid;gap:2px}
.set select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 10px;width:100%}

/* 見出しの前のアイコンを文字の高さの真ん中にそろえる */
h3:has(> svg.i){display:flex;align-items:center;gap:8px}
h3 > svg.i{width:20px;height:20px;color:var(--blue)}
h2 > svg.i{width:22px;height:22px}

/* メッセージの添付 */
details.talk .keep{margin:6px 12px 0;font-size:.72rem}
.send .attach{flex:none;display:grid;place-items:center;width:40px;border-radius:12px;background:var(--panel);color:var(--blue);cursor:pointer;box-shadow:0 1px 3px var(--shadow)}
.send .attach.busy{opacity:.4;pointer-events:none}
.msg .att{display:flex;gap:8px;align-items:center;color:inherit;text-decoration:none}
.msg .att svg.i{width:28px;height:28px;flex:none}
.msg .att small{display:inline;font-size:.7rem;opacity:.8}
.msg .att.img img{display:block;max-width:200px;max-height:220px;border-radius:10px;margin-top:2px}
