/* Browser-only FRANK desktop companion. No Flutter layout or dock modifications. */
.frank-native-nudge {
  box-sizing: border-box;
  position: fixed;
  top: max(20px, env(safe-area-inset-top));
  right: max(20px, env(safe-area-inset-right));
  width: min(420px, calc(100vw - 32px));
  z-index: 2147483000;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 21px 42px 20px 20px;
  border: 1px solid rgba(255,255,255,.19);
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(145deg, rgba(33,32,87,.98), rgba(12,15,38,.98));
  box-shadow: 0 18px 54px rgba(6,7,24,.34), 0 2px 8px rgba(3,4,18,.22);
  font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
.frank-native-nudge *, .frank-native-nudge *::before { box-sizing: border-box; }
.frank-native-nudge__symbol {
  flex: none; width: 41px; height: 41px; border-radius: 12px;
  object-fit: cover; object-position: center;
  background: #ffffff; border: 1px solid rgba(255,255,255,.6);
}
.frank-native-nudge__content { min-width: 0; }
.frank-native-nudge__eyebrow {
  display: block; color: #b8b7ec; font-size: 10px; letter-spacing: .135em;
  font-weight: 700; margin-bottom: 6px;
}
.frank-native-nudge__title { display: block; font-size: 17px; line-height: 1.3; font-weight: 700; }
.frank-native-nudge__description { color: #d5d5e4; font-size: 13px; line-height: 1.5; margin: 8px 0 14px; }
.frank-native-nudge__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.frank-native-nudge__action {
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 9px; background: #f15523; color: #fff;
  text-decoration: none; font-size: 12px; font-weight: 700;
  padding: 11px 14px; min-height: 38px;
}
.frank-native-nudge__action:hover { background: #ff6530; }
.frank-native-nudge__later {
  border: 0; background: transparent; color: #cacade;
  padding: 10px 1px; min-height: 38px; cursor: pointer;
  font: inherit; font-size: 12px;
}
.frank-native-nudge__preview { display: inline-block; font-size: 11px; color: #c9caff; margin-top: 12px; }
.frank-native-nudge__preview:hover { color: #fff; }
.frank-native-nudge__close {
  position: absolute; top: 11px; right: 12px; width: 28px; height: 28px;
  border: none; border-radius: 8px; background: transparent; color: #d5d5e4;
  font-size: 24px; line-height: 1; font-family: inherit; cursor: pointer;
}
.frank-native-nudge__close:hover { background: rgba(255,255,255,.12); color: white; }
.frank-native-nudge :focus-visible { outline: 2px solid #f15523; outline-offset: 3px; }
@media (max-width: 520px) {
  .frank-native-nudge { top: 10px; right: 10px; padding: 16px 40px 16px 14px; gap: 10px; }
}
@media (prefers-reduced-motion: no-preference) { .frank-native-nudge { animation: frankNudgeEntrance .22s ease-out both; } }
@keyframes frankNudgeEntrance { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
