/* App-level styles for Ирлем-практик mobile */
@import url("./colors_and_type.css");

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #E8E8EE; font-family: 'Manrope', system-ui, sans-serif; }

@keyframes ip-spin { to { transform: rotate(360deg); } }
@keyframes ip-fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes ip-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }
@keyframes ip-slide-up { from { opacity: 0; transform: translateY(100%); } to { opacity: 1; transform: none; } }
@keyframes ip-shimmer { 0% { background-position: -200px 0; } 100% { background-position: 200px 0; } }

.ip-screen {
  width: 100%; height: 100%;
  background: #F6F6FA;
  font-family: 'Manrope', system-ui, sans-serif;
  color: #222126;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}

.ip-scroll { flex: 1; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; }
.ip-scroll::-webkit-scrollbar { display: none; }
.ip-scroll { flex: 1; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; }
.ip-scroll::-webkit-scrollbar { display: none; }

.ip-skeleton {
  background: linear-gradient(90deg, #EEEEF4 0%, #F6F6FA 50%, #EEEEF4 100%);
  background-size: 400px 100%;
  animation: ip-shimmer 1.4s linear infinite;
  border-radius: 10px;
}

/* Tap ripple */
.ip-tappable { cursor: pointer; -webkit-tap-highlight-color: transparent; transition: transform .12s ease, background .15s ease; }
.ip-tappable:active { transform: scale(0.98); }

/* Safe area paddings for iPhone frame */
.ip-safe-top { padding-top: 54px; } /* below dynamic island */
.ip-safe-bottom { padding-bottom: 34px; }
