:root{--accent:#4f46e5;--bg:#f6f6fb;--card:#fff;--text:#1f2330;--muted:#6b7080;--danger:#dc2626;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 14px}button:disabled{opacity:.5}button.ghost{color:var(--text);background:#e7e7f3}button.danger{background:var(--danger)}input,textarea{font:inherit;background:#fff;border:1px solid #d7d8e0;border-radius:10px;width:100%;padding:10px}.center{place-items:center;height:100dvh;display:grid}.hint{color:var(--muted);text-align:center;padding:24px 16px;line-height:1.6}.error{color:var(--danger);text-align:center}.msg{color:var(--accent);text-align:center}.app{flex-direction:column;height:100dvh;display:flex}.content{flex-direction:column;flex:1;display:flex;overflow:hidden}.tabs{background:var(--card);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #e3e3ec;display:flex}.tabs button{color:var(--muted);background:0 0;border-radius:0;flex:1;padding:14px 0}.tabs button.active{color:var(--accent);font-weight:700}.login{flex-direction:column;gap:12px;max-width:320px;margin:30dvh auto 0;padding:0 16px;display:flex}.login h1{text-align:center}.chat{flex-direction:column;height:100%;display:flex}.messages{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.bubble{background:var(--card);white-space:pre-wrap;border-radius:14px;max-width:85%;padding:10px 12px;line-height:1.5}.bubble p{margin:0}.bubble.user{background:var(--accent);color:#fff;align-self:flex-end}.bubble.assistant{align-self:flex-start}.bubble.pending{color:var(--muted)}.action{white-space:normal;background:#eef0ff;border-radius:10px;margin-top:8px;padding:8px;font-size:.9em}.action-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.action-buttons{flex:none;gap:4px;display:flex}.action button{color:var(--accent);white-space:nowrap;background:#fff;padding:4px 8px;font-size:.85em}.action.undone .action-row>span{opacity:.5;text-decoration:line-through}.action .editor{background:#fff;border-radius:8px;padding:8px}.action .editor button{background:var(--accent);color:#fff}.replies{flex-wrap:wrap;gap:6px;display:flex}.composer{background:var(--card);border-top:1px solid #e3e3ec;gap:8px;padding:8px;display:flex}.composer textarea{resize:none}.composer button{white-space:nowrap;flex:none}.list{padding:12px;overflow-y:auto}.subtabs{gap:6px;margin-bottom:12px;display:flex;overflow-x:auto}.subtabs button{color:var(--text);white-space:nowrap;background:#e7e7f3}.subtabs button.active{background:var(--accent);color:#fff}.item{background:var(--card);border-radius:12px;margin-bottom:8px;padding:10px}.item .row{align-items:flex-start;gap:10px;display:flex}.item input[type=checkbox]{flex:none;width:22px;height:22px;margin-top:4px}.item .title{text-align:left;color:var(--text);background:0 0;flex-direction:column;flex:1;gap:2px;padding:0;display:flex}.item small{color:var(--muted)}.item .step{color:var(--accent)}.editor{flex-direction:column;gap:8px;margin-top:10px;display:flex}.editor label{color:var(--muted);flex-direction:column;gap:4px;font-size:.9em;display:flex}.buttons{gap:8px;display:flex}.settings{flex-direction:column;gap:16px;padding:16px;display:flex;overflow-y:auto}.settings section{background:var(--card);border-radius:12px;padding:12px}.settings h2{margin:0 0 10px;font-size:1em}.radio,.toggle{align-items:flex-start;gap:10px;padding:6px 0;display:flex}.radio input,.toggle input{width:auto;margin-top:4px}.radio span{flex-direction:column;display:flex}.radio small{color:var(--muted)}.quiet{align-items:center;gap:8px;display:flex}
