.chat-scroll::-webkit-scrollbar{width:4px}@media (min-width:768px){.chat-scroll::-webkit-scrollbar{width:6px}}.chat-scroll::-webkit-scrollbar-track{background:transparent}.chat-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.hero-chat-scroll::-webkit-scrollbar{display:none}.hero-chat-scroll{-ms-overflow-style:none;scrollbar-width:none}.message-bubble{align-self:flex-start;animation:fadeIn .2s ease-out;background-color:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.5);border-radius:1.25rem;border-bottom-left-radius:.25rem;box-shadow:0 2px 8px rgba(15,23,42,.04);color:#0f172a;font-size:.9rem;line-height:1.5;max-width:90%;padding:.75rem 1rem;white-space:pre-line}@media (min-width:768px){.message-bubble{font-size:.95rem;max-width:85%;padding:.875rem 1.25rem}}.user-action-bubble{align-self:flex-end;animation:fadeIn .2s ease-out;background-color:#38c0c4;border-radius:1.25rem;border-bottom-right-radius:.25rem;box-shadow:0 4px 12px rgba(56,192,196,.2);color:#fff;font-size:.9rem;font-weight:500;max-width:90%;padding:.6rem 1rem;word-break:break-word}@media (min-width:768px){.user-action-bubble{font-size:.95rem;max-width:85%;padding:.75rem 1.25rem}}.system-bubble{align-self:center;background-color:transparent;color:#545454;font-size:.7rem;font-weight:600;letter-spacing:.05em;margin:.5rem 0;text-align:center;text-transform:uppercase}@media (min-width:768px){.system-bubble{font-size:.75rem}}.keypad{display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:260px;padding:.25rem;position:relative}@media (min-width:768px){.keypad{gap:1rem;max-width:320px;padding:1rem}}.keypad.locked{opacity:.7;pointer-events:none}.key-btn{align-items:center;aspect-ratio:1;background-color:hsla(0,0%,100%,.5);border:1px solid hsla(0,0%,100%,.8);border-radius:50%;box-shadow:0 2px 10px rgba(15,23,42,.03);color:#0f172a;cursor:pointer;display:flex;flex-direction:column;font-size:1.25rem;font-weight:600;justify-content:center;position:relative;transition:all .15s ease;user-select:none;-webkit-tap-highlight-color:transparent;min-height:56px}@media (min-width:768px){.key-btn{font-size:1.5rem;min-height:64px}}@media (hover:hover){.key-btn:hover:not(:disabled){background-color:#fff;border-color:#38c0c4;box-shadow:0 8px 16px rgba(56,192,196,.1);transform:translateY(-2px)}}.key-btn:active:not(:disabled){background-color:#ebf8f8;box-shadow:none;transform:translateY(0) scale(.95)}.simulated-press{background-color:#38c0c4!important;border-color:#239599!important;color:#fff!important;transform:scale(.92);transition:all .1s}.simulated-press .key-sub{color:#ebf8f8}.key-btn.action-btn{background-color:#ef4444;border:none;color:#fff;pointer-events:auto}@media (hover:hover){.key-btn.action-btn:hover:not(:disabled){background-color:#dc2626}}.key-sub{color:#545454;font-size:.55rem;font-weight:500;letter-spacing:.5px;margin-top:-2px;transition:color .2s ease}@media (min-width:768px){.key-sub{font-size:.65rem;letter-spacing:1px;margin-top:-2px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.typing-indicator{align-items:center;display:flex;gap:4px;padding:.8rem 1rem!important;width:fit-content}.typing-indicator span{animation:bounce 1.2s ease-in-out infinite both;background-color:#38c0c4;border-radius:50%;display:inline-block;height:6px;width:6px}@media (min-width:768px){.typing-indicator span{height:8px;width:8px}}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.4;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.key-tooltip{background-color:#0f172a;border-radius:6px;bottom:115%;color:#fff;font-size:.75rem;font-weight:500;left:50%;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;transform:translateX(-50%) translateY(5px);transition:all .2s ease;visibility:hidden;white-space:nowrap;z-index:20}.key-tooltip:after{border:5px solid transparent;border-top-color:#0f172a;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.highlight-key{background-color:rgba(255,248,210,.5);border-color:#ffd85f;z-index:10}@media (hover:hover){.highlight-key:hover .key-tooltip{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}}