:root{--bg:#0f1115;--surface:#171a21;--surface-2:#1f232c;--line:#2a2f3a;--text:#eef1f6;--muted:#99a1b0;--accent:#5ac8a8;--accent-ink:#04231b;--mine:#2c4d44;--warn:#f0b866;--radius:14px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}body{overscroll-behavior-y:none}main{max-width:560px;min-height:100dvh;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}.hero{padding:48px 4px 24px}.hero h1{letter-spacing:-.02em;margin:0 0 8px;font-size:30px;line-height:1.2}.sub{color:var(--muted);margin:0;font-size:15px;line-height:1.5}input[type=text],input[type=time]{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);outline:none;padding:15px 16px;font-family:inherit;font-size:17px}input:focus{border-color:var(--accent)}input::placeholder{color:#6b7382}button{border-radius:var(--radius);cursor:pointer;border:0;font-family:inherit;font-size:16px}.primary{width:100%;color:var(--accent-ink);background:var(--accent);padding:16px;font-size:17px;font-weight:600}.primary:disabled{opacity:.5;cursor:default}.ghost{width:100%;color:var(--text);border:1px solid var(--line);background:0 0;margin-top:10px;padding:14px}.stack{flex-direction:column;gap:14px;display:flex}.error{color:#f08a8a;margin:0;font-size:14px}.when{align-items:stretch;gap:10px;display:flex}.chips{gap:8px;display:flex}.chip{color:var(--muted);background:var(--surface);border:1px solid var(--line);white-space:nowrap;padding:0 18px}.chip[data-on=true]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.when input[type=time]{flex:1;min-width:0}.link-box{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);word-break:break-all;color:var(--accent);text-align:left;direction:ltr;margin-bottom:14px;padding:16px;font-size:15px}.chat{height:100dvh;padding-bottom:0}.bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;display:flex}.bar-title{font-size:18px;font-weight:600}.bar-sub{color:var(--muted);margin-top:2px;font-size:13px}.bar a{color:var(--muted);font-size:14px;text-decoration:none}.notice{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--warn);justify-content:space-between;align-items:center;gap:12px;margin:12px 0 0;padding:12px 14px;font-size:14px;display:flex}.notice button{color:var(--accent-ink);background:var(--accent);white-space:nowrap;padding:8px 14px;font-size:14px;font-weight:600}.messages{flex-direction:column;flex:1;gap:8px;padding:16px 0;display:flex;overflow-y:auto}.empty{color:var(--muted);text-align:center;margin:auto;font-size:15px}.msg{background:var(--surface);border-radius:16px;max-width:78%;padding:9px 13px}.msg.mine{background:var(--mine);align-self:flex-start}.msg.theirs{align-self:flex-end}.msg .who{color:var(--accent);margin-bottom:3px;font-size:12px;display:block}.msg .text{white-space:pre-wrap;word-break:break-word;font-size:16px;line-height:1.4}.msg .at{color:var(--muted);margin-top:3px;font-size:11px;display:block}.say{padding:12px 0 calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:8px;display:flex}.say input{flex:1}.say button{width:52px;color:var(--accent-ink);background:var(--accent);font-size:20px;font-weight:700}.center{text-align:center;margin:auto;padding:24px}.account{justify-content:flex-start;padding:16px 4px 0;display:flex}
