/* LAST LOOP: only the message composer and its on-screen keyboard. */
#message-screen .ll22-keyboard.ll-ios-keyboard {
  height: min(330px, 42%) !important; padding: 7px 6px max(10px, env(safe-area-inset-bottom, 0px)) !important;
  gap: 8px !important; background: #1c1c1e !important; color: #fff !important;
  border-radius: 23px 23px 0 0; z-index: 210 !important;
  overflow: visible !important; box-shadow: 0 -1px 0 #353537;
}
#message-screen .ll-ios-keyboard .ll-ios-suggestions { height: 40px; flex: 0 0 40px; display: grid; grid-template-columns: 1fr 1fr 1fr 38px; align-items: center; color: #b4b4b7; font-size: 15px; }
#message-screen .ll-ios-keyboard .ll-ios-suggestions span { text-align: center; border-right: 1px solid #38383b; height: 28px; display: grid; place-items: center; }
#message-screen .ll-ios-keyboard .ll-ios-suggestions span:last-child { border: 0; font-size: 20px; }
#message-screen .ll-ios-keyboard .ll22-keyrow { height: 43px !important; flex: 0 0 43px; gap: 5px !important; overflow: visible !important; }
#message-screen .ll-ios-keyboard .ll22-key { border: 0; border-radius: 6px !important; background: #444446 !important; color: #fff !important; box-shadow: 0 1px 0 #111 !important; font-size: 22px !important; padding: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
#message-screen .ll-ios-keyboard .ll22-key.ll22-special { background: #58585b !important; font-size: 17px !important; }
#message-screen .ll-ios-keyboard .ll22-key.ll22-wide { flex: 4 !important; font-size: 16px !important; }
#message-screen .ll-ios-keyboard .ll22-key.ll22-pressed { background: #68686b !important; }
/* Disable legacy pseudo-popover; one dedicated overlay floats above the composer. */
#message-screen .ll-ios-keyboard .ll22-key.ll22-pressed::after { display: none !important; }
#message-screen .ll-ios-keyboard .ll-ios-footer { display: flex; justify-content: space-between; align-items: center; flex: 1; padding: 0 20px; color: #f2f2f5; font-size: 24px; }
#message-screen.ll22-keyboard-open .message-compose { bottom: min(330px, 42%) !important; z-index: 180 !important; }
#message-screen.ll22-keyboard-open .message-scroll { bottom: calc(min(330px, 42%) + 56px) !important; }
#message-screen.ll22-keyboard-open .message-compose input { color: #fff !important; }
#message-screen .ll-ios-key-pop { position: absolute; z-index: 500 !important; pointer-events: none; display: grid; place-items: center; min-width: 45px; height: 66px; padding: 0 9px; border-radius: 10px; background: #69696c; color: #fff; font-size: 32px; box-shadow: 0 3px 14px #0009; transform: translate(-50%, -100%); }
#message-screen .ll-ios-key-pop[hidden] { display: none !important; }
@media (max-height: 650px) { #message-screen .ll22-keyboard.ll-ios-keyboard { gap: 4px !important; } #message-screen .ll-ios-keyboard .ll-ios-suggestions { height: 24px; flex-basis: 24px; } #message-screen .ll-ios-keyboard .ll22-keyrow { height: 35px !important; flex-basis: 35px; } }

/* Keyboard layouts and active state, scoped to the Messages app. */
#message-screen .ll-ios-keyboard .ll22-keyrow {display:flex; justify-content:center; width:100%;}
#message-screen .ll-ios-keyboard .ll22-key {flex:1; min-width:0; touch-action:manipulation; user-select:none; -webkit-user-select:none;}
#message-screen .ll-ios-keyboard .ll22-key.ll22-wide {flex:4 !important;}
#message-screen .ll-ios-keyboard .ll22-key.ll-ios-active {background:#85858b !important;}
#message-screen .ll-ios-keyboard .ll22-key.ll-ios-symbol {font-size:17px !important;}
#message-screen .ll-ios-keyboard .ll-ios-suggestions span {overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}

/* iOS-style emoji picker and globe in the lower-left utility area. */
#message-screen .ll-ios-keyboard .ll-ios-footer { padding: 0 17px; min-height: 30px; }
#message-screen .ll-ios-keyboard .ll-ios-globe { display:grid;place-items:center; width:36px;height:34px; padding:4px; border:0; background:transparent; color:#f1f1f3; cursor:pointer; touch-action:manipulation; }
#message-screen .ll-ios-keyboard .ll-ios-globe svg { width:27px;height:27px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
#message-screen .ll-ios-keyboard .ll-ios-mic svg { width:24px;height:28px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
#message-screen .ll-ios-keyboard .ll-ios-mic { display:grid;place-items:center; }
#message-screen .ll-ios-keyboard .ll-ios-emoji-top { display:flex;align-items:center;justify-content:space-between; flex:0 0 32px; padding:0 12px; font-size:14px; color:#aaa; }
#message-screen .ll-ios-keyboard .ll-ios-emoji-top button { color:#fff; background:transparent; border:0; font-size:23px; }
#message-screen .ll-ios-keyboard .ll-ios-emoji-grid { display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;scrollbar-width:none; }
#message-screen .ll-ios-keyboard .ll-ios-emoji-grid::-webkit-scrollbar {display:none;}
#message-screen .ll-ios-keyboard .ll-ios-emoji-item { border:0; background:transparent; font-family:system-ui,Apple Color Emoji,Segoe UI Emoji,sans-serif; font-size:25px; min-width:0; height:39px; padding:0; cursor:pointer; touch-action:manipulation; }
#message-screen .ll-ios-keyboard .ll-ios-emoji-tabs { display:flex;justify-content:space-around;align-items:center;flex:0 0 32px;border-top:1px solid #353538; }
#message-screen .ll-ios-keyboard .ll-ios-emoji-tabs button { flex:1; background:transparent;border:0;filter:grayscale(1);font-size:19px;opacity:.65; }
#message-screen .ll-ios-keyboard .ll-ios-emoji-tabs button.selected { filter:none;opacity:1; }
#message-screen .ll-ios-keyboard .ll-ios-emoji-bottom {display:flex;justify-content:space-between;align-items:center;flex:0 0 30px;padding:0 15px;}
#message-screen .ll-ios-keyboard .ll-ios-emoji-bottom button:not(.ll-ios-globe) {background:transparent;color:#eee;border:0;font-size:16px;}
#message-screen .ll-ios-keyboard .ll22-key[data-key="☺"] {font-size:0 !important;}
#message-screen .ll-ios-keyboard .ll22-key[data-key="☺"]::before {content:' ';display:inline-block;width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='8' cy='9' r='1.3'/%3E%3Ccircle cx='16' cy='9' r='1.3'/%3E%3Cpath d='M6 13q6 9 12 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;}

/* LAST LOOP — final Korean keyboard layout / visual refinements */
#message-screen .ll-ios-keyboard .ll22-keyrow {
  height: 38px !important;
  flex: 0 0 38px !important;
  gap: 6px !important;
}
#message-screen .ll-ios-keyboard .ll22-key { font-size: 19px !important; }
#message-screen .ll-ios-keyboard .ll22-key.ll22-special { font-size: 16px !important; }
#message-screen .ll-ios-keyboard .ll22-key.ll22-wide { font-size: 0 !important; flex: 4 !important; }
#message-screen .ll-ios-keyboard .ll22-key.ll-ios-return {
  flex: 1.7 !important;
  font-size: 27px !important;
  line-height: 1 !important;
}
#message-screen .ll-ios-keyboard .ll22-key[data-key="☺"]::before { display: none !important; }
#message-screen .ll-ios-keyboard .ll22-key[data-key="☺"]::after {
  content: "🙂";
  display: inline-block;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
  font-size: 23px;
  line-height: 1;
}
@media (max-height: 650px) {
  #message-screen .ll-ios-keyboard .ll22-keyrow { height: 34px !important; flex-basis: 34px !important; }
}


/* LAST LOOP — iMessage keyboard entrance/exit (no key layout changes). */
#message-screen .ll22-keyboard.ll-ios-keyboard {
  transform: translate3d(0, 105%, 0) !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform 300ms cubic-bezier(.22,.82,.25,1),
              opacity 180ms ease, visibility 0s linear 300ms !important;
  will-change: transform;
}
#message-screen .ll22-keyboard.ll-ios-keyboard.ll-keyboard-visible {
  transform: translate3d(0, 0, 0) !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: transform 300ms cubic-bezier(.22,.82,.25,1),
              opacity 180ms ease, visibility 0s !important;
}
#message-screen .message-compose,
#message-screen .message-scroll {
  transition: bottom 300ms cubic-bezier(.22,.82,.25,1) !important;
}
@media (prefers-reduced-motion: reduce) {
  #message-screen .ll22-keyboard.ll-ios-keyboard,
  #message-screen .message-compose,
  #message-screen .message-scroll { transition-duration: 0.01ms !important; }
}
