.studio-page { padding-bottom: 24px; }
.studio-pagehero { padding-block: clamp(30px, 6vw, 76px) 26px; }
.studio-pagehero h1 { max-width: 850px; }
.studio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.studio-stack { margin-top: 24px; }
.studio-panel { border-color: #58426d; }
.studio-panel h2 { margin-top: 0; }
.studio-panel li + li { margin-top: 7px; }
.studio-panel dd { margin: 0 0 14px; }
.studio-panel .actions { flex-wrap: wrap; }
.studio-filters, .studio-form .actions { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-block: 14px; }
.studio-filters label, .studio-form label { display: grid; gap: 5px; }
.studio-form { max-width: 42rem; }
.studio-form input, .studio-form textarea, .studio-form select, .studio-filters select {
  min-width: 0; max-width: 100%; border: 1px solid #78668e; border-radius: 9px; padding: 10px 12px;
  font: inherit; color: inherit; background: #15152a;
}
.studio-form input[type=search] { flex: 1 1 12rem; }
.studio-form textarea { width: 100%; resize: vertical; }
.studio-form > button { margin-top: 12px; }
.studio-search { color: #eee4ff; padding: 8px 3px; font-weight: 700; font-size: 13px; }
.studio-search:hover { text-decoration: underline !important; }
.studio-skip { position: absolute; left: 12px; top: 8px; z-index: 200; transform: translateY(-160%); }
.studio-skip:focus { transform: none; }
.studio-activity { display: grid; gap: 10px; padding-left: 22px; }
.studio-consent { display: grid; gap: 9px; }
.studio-consent input { accent-color: #b983ff; }
.studio-panel :is(a,button,input,textarea,select):focus-visible { outline: 2px solid #ca9bff; outline-offset: 3px; }
@media (max-width: 990px) { .nav-actions .studio-search { display: none; } }
@media (max-width: 700px) { .studio-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .studio-page *, .studio-nav *, .game *, .studio-hero * { animation: none !important; transition: none !important; }
}
.studio-gameplay { margin: 0; max-width: 850px; }
.studio-gameplay img { display: block; width: 100%; height: auto; border: 1px solid #58426d; border-radius: 14px; }
.studio-gameplay figcaption { margin-top: 8px; color: var(--muted); }
