body {
  margin: 0;
  font-family: 'Roboto', Arial, sans-serif;
  background: #fff;
  color: #222;
}
.ps-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: #fff;
  border-bottom: 1px solid #ececec;
  position: sticky;
  top: 0;
}
.ps-header-detail {
  display: flex;
  align-items: center;
  padding: 12px 10px;
  background: #fff;
  border-bottom: 1px solid #ebebeb;
  font-family: 'Roboto', Arial, sans-serif;
  position: sticky;
  top:0;
  z-index: 99;
}
.ps-back {
  background: none;
  border: none;
  font-size: 1.4em;
  color: #1B5E20;
  margin-right: 8px;
  cursor: pointer;
  padding:4px;
}
.ps-logo {
  font-weight: 500;
  color: #1B5E20;
  font-size: 1.07em;
}
.ps-search {
  flex: 1;
  margin-left: 18px;
  padding: 7px 13px;
  border-radius: 16px;
  border: 1px solid #eee;
  background: #f7f7f7;
  font-size: 1em;
}
.ps-main {
  padding: 12px 8px 66px 8px;
  max-width: 480px;
  margin: 0 auto;
}
#app-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.ps-app-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #fff;
  border-radius: 11px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.05);
  padding: 12px;
}
.ps-app-icon {
  width: 58px;
  height: 58px;
  border-radius: 15px;
  background: #f0f0f0;
  object-fit: cover;
}
.ps-app-info {
  flex: 1;
}
.ps-app-title {
  font-weight: 500;
  font-size: 1em;
}
.ps-app-desc {
  color: #666;
  font-size: .92em;
  margin: 4px 0 7px 0;
}
.ps-app-actions button {
  background: #1B5E20;
  color: #fff;
  border: none;
  border-radius: 22px;
  padding: 6px 18px;
  font-size: .95em;
  font-weight: 500;
  cursor: pointer;
  transition: background .2s;
}
.ps-app-actions button:hover {
  background: #388e3c;
}
.ps-bottom-nav {
  position: fixed;
  left:0;
  right:0;
  bottom:0;
  background: #fff;
  display: flex;
  justify-content: space-around;
  border-top: 1px solid #ececec;
  padding: 7px 0;
  z-index:100;
}
.ps-bottom-nav button {
  background: none;
  border: none;
  color: #222;
  font-size: 1.1em;
  padding: 7px 16px;
}
.ps-bottom-nav button.active {
  color: #1B5E20;
  font-weight: bold;
  border-bottom: 2px solid #1B5E20;
}

/* --- Play Store App Detail Styles --- */
.ps-app-detail {
  font-family:'Roboto', Arial, sans-serif;
  max-width:480px;
  margin:0 auto;
}
.ps-app-maininfo {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 18px 7px 6px 12px;
}
.ps-app-icon-detail {
  width: 72px;
  height: 72px;
  border-radius: 17px;
  background: #f2f2f2;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.ps-app-meta {
  flex:1;
  margin-left: 5px;
}
.ps-app-title-detail {
  font-weight: 600;
  font-size: 1.2em;
}
.ps-app-developer {
  color:#666;
  font-size:.96em;
  margin:.5em 0 3px 0;
}
.ps-app-chip-row {
  display:flex;
  align-items:center;
  gap:8px;
  color:#1d4315;
  font-size:.97em;
  margin-top:2px;
}
.ps-app-rating {
  font-weight:bold;
  color:#154e17;
}
.ps-dot {
  font-size:1.3em;
  color:#bbb;
  margin:0 2px;
}
.ps-app-downloads,
.ps-age-limit {
  color:#3a512e;
}
.ps-app-btn-wrap {
  margin-left: 5px;
  align-self: flex-start;
}
#ps-main-btn {
  min-width: 86px;
  background: #1B5E20;
  color: #fff;
  border: none;
  border-radius: 26px;
  padding: 8px 20px;
  font-size: 1em;
  font-weight: 500;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
  transition: background .16s;
}
#ps-main-btn:active {
  background:#006e20;
}
.ps-ss-section {
  margin:14px 0 5px 0;
  padding-left:10px;
  overflow-x:auto;
}
.ps-ss-slider {
  display:flex;
  gap:12px;
}
.ps-ss-slider img {
  width: 197px;
  height: 415px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: 0 2px 15px 0 rgba(70,150,70,0.10);
  background:#ebebeb;
}
.ps-app-desc-section {
  padding: 12px 18px 8px 18px;
}
.ps-desc-title {
  color:#4a9d52;
  font-size:1.09em;
  font-weight:500;
  margin-bottom:4px;
}
.ps-app-desc {
  color:#222;
  font-size:1.03em;
}
.ps-comments-section {
  padding: 8px 17px 24px 17px;
}
.ps-comments-title {
  color:#537c49;
  font-weight:500;
  font-size:1.07em;
  margin-bottom:7px;
}
.ps-comment {
  margin-bottom:10px;
  background:#f7faf7;
  border-radius:11px;
  padding:7px 11px;
  box-shadow: 0 1px 3px 0 rgba(36,61,36,0.04);
}
.ps-comment-author {
  font-weight:500;
  color:#247724;
}
.ps-comment-rating {
  color:#e3a500;
  font-size:.94em;
  margin-left:7px;
}
.ps-comment-text {
  color:#333;
  font-size:.97em;
  margin-top:3px;
}

@media (max-width:600px) {
  .ps-header, .ps-main { padding-left:4px; padding-right:4px; }
  .ps-app-detail {padding:2px;}
}

@keyframes ps-spin {
  0%{transform:rotate(0deg);}
  100%{transform:rotate(360deg);}
}
