:root { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #f5f7f9; background: #090b0e; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100dvh; }
button, input, textarea { font: inherit; }
.mobile-shell { min-height: 100dvh; display: grid; grid-template-rows: auto 1fr; }
header { padding: max(16px, env(safe-area-inset-top)) 17px 14px; border-bottom: 1px solid #272d35; display: flex; align-items: center; }
header strong, header span { display: block; }
header span { font-size: 10px; color: #ff7e78; margin-top: 2px; }
header span.online { color: #77e1b3; }
header button { margin-left: auto; color: #ff9c97; border: 1px solid #593536; background: #1e1214; border-radius: 8px; padding: 8px 10px; }
header button:disabled { opacity: .35; }
.setup { padding: 30px 18px 50px; max-width: 640px; width: 100%; margin: 0 auto; }
.eyebrow { color: #75dbae!important; font-size: 11px!important; font-weight: 700; letter-spacing: .12em; }
.setup h1 { font-size: 27px; margin: 9px 0; }
.setup h2 { font-size: 18px; margin: 0 0 8px; }
.setup p { color: #aab2bc; font-size: 14px; line-height: 1.65; }
.setup label { color: #7f8994; font-size: 11px; display: block; margin: 18px 0 6px; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; background: #12161b; border: 1px solid #282f38; border-radius: 10px; padding: 12px; font-size: 11px; line-height: 1.5; }
.setup button, details button { width: 100%; border: 0; background: #73deb0; color: #082117; border-radius: 10px; padding: 12px; font-weight: 700; margin-top: 10px; }
.setup details { margin: 22px 0; border-top: 1px solid #292f37; border-bottom: 1px solid #292f37; padding: 14px 0; }
.setup summary { color: #c1c7ce; cursor: pointer; }
.setup input { width: 100%; color: white; background: #12161b; border: 1px solid #303741; border-radius: 9px; padding: 11px; }
.secure-transfer { margin: 24px 0 8px; padding: 16px; background: #101a17; border: 1px solid #28513f; border-radius: 12px; }
.secure-transfer .status { min-height: 1.5em; margin: 8px 0 0; color: #78dfb2; }
.setup details.advanced { margin-bottom: 8px; }
.chat { min-height: 0; display: grid; grid-template-rows: 1fr auto auto auto; }
.messages { overflow-y: auto; padding: 20px 15px; }
.message { margin-bottom: 17px; }
.message.user { text-align: right; }
.bubble { display: inline-block; max-width: 88%; text-align: left; white-space: pre-wrap; line-height: 1.55; background: #171c22; border: 1px solid #28303a; border-radius: 15px 15px 15px 4px; padding: 11px 13px; }
.user .bubble { background: #295d49; border-color: #39745c; border-radius: 15px 15px 4px 15px; }
.working { padding: 8px 17px; color: #7bdcaf; font-size: 12px; }
#composer { margin: 8px 12px max(8px, env(safe-area-inset-bottom)); padding: 8px 8px 8px 13px; border: 1px solid #303741; background: #15191f; border-radius: 14px; display: flex; }
#composer textarea { flex: 1; resize: none; border: 0; outline: 0; color: white; background: transparent; padding: 7px 3px; }
#composer button { width: 36px; border: 0; border-radius: 10px; background: #75dfb1; color: #082117; font-weight: 800; }
.settings-link { background: transparent; border: 0; color: #7f8994; padding: 4px 10px 12px; font-size: 11px; }
