*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--font);
  color:var(--c-ink);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow:hidden;
}

.app{height:100vh;height:100dvh;display:flex;flex-direction:column}

/* ---------------- Таб-бар ---------------- */
.tabbar{
  flex:0 0 auto;
  background:var(--c-bg);
  padding:18px 20px 14px;
  border-bottom:1px solid rgba(0,0,0,.05);
}
.tabs{
  display:flex;gap:10px;align-items:center;
  overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-ms-overflow-style:none;
  padding-bottom:2px;
}
.tabs::-webkit-scrollbar{display:none}
.tab{
  flex:0 0 auto;
  height:var(--tab-h);
  padding:0 20px;
  border-radius:var(--tab-radius);
  border:1.5px solid rgba(0,0,0,.12);
  background:var(--c-white);
  color:var(--c-ink-2);
  font-family:var(--font);
  font-weight:700;font-size:18px;line-height:1;
  white-space:nowrap;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .1s ease;
}
.tab:hover{border-color:rgba(0,0,0,.28)}
.tab:active{transform:scale(.97)}
.tab.active{
  background:var(--c-ink-2);
  color:var(--c-white);
  border-color:var(--c-ink-2);
}

/* ---------------- Область экранов ---------------- */
.viewport{
  position:relative;flex:1 1 auto;min-height:0;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.screen{
  position:absolute;inset:0;
  display:none;align-items:center;justify-content:center;
}
.screen.active{display:flex}

/* контейнер нативного размера, масштабируется трансформом из JS */
.stage{
  position:relative;
  width:calc(var(--w)*1px);
  height:calc(var(--h)*1px);
  transform-origin:center center;
  background:var(--c-white);
  flex:0 0 auto;
}

/* экран-постер (frame6, frame7 — текст в кривых) */
.stage.poster{background:var(--c-white)}
.stage.poster>img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;display:block;
}

/* ---------------- «Все» — агрегат (вертикальный скролл) ---------------- */
.screen.aggregate.active{
  display:block;
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
.agg-col{
  max-width:760px;margin:0 auto;
  padding:26px 16px 56px;
  display:flex;flex-direction:column;align-items:center;gap:22px;
}
.agg-col img{
  display:block;height:auto;max-width:100%;
  background:var(--c-white);
  box-shadow:0 18px 50px -28px rgba(0,0,0,.28);
}
