﻿:root {
  --oe-tp-bg: #ffffff;
  --oe-tp-page-bg: #eef1f6;
  --oe-tp-text: #111827;
  --oe-tp-muted: #6b7280;
  --oe-tp-border: #e5e7eb;
  --oe-tp-card-bg: #ffffff;
  --oe-tp-accent: #2563eb;
  --oe-tp-accent-600: #1d4ed8;
  --oe-tp-color-primary: #2563eb;
  --oe-tp-teal: #14b8a6;
  --oe-tp-sidebar-w: 260px;
  --oe-tp-radius: 12px;
  --oe-tp-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 4px 14px rgba(15, 23, 42, 0.04);
  --oe-tp-content-max: min(1400px, 100%);
  --oe-tp-font-title: clamp(1.65rem, 2.1vw, 2.125rem);
  --oe-tp-font-subtitle: clamp(1.05rem, 1.15vw, 1.25rem);
  --oe-tp-font-body: clamp(0.875rem, 0.9vw, 1rem);
  --oe-tp-font-card-title: clamp(1.05rem, 1.1vw, 1.35rem);
  --oe-tp-font-button: clamp(0.875rem, 0.95vw, 1rem);
}

.oe-tp {
  background: var(--oe-tp-bg);
  color: var(--oe-tp-text);
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 16px;
}

.oe-tp__header {
  margin-bottom: 18px;
}

.oe-tp__title {
  margin: 0 0 8px 0;
  font-size: 28px;
  line-height: 1.2;
}

.oe-tp__subtitle {
  margin: 0 0 8px 0;
  font-size: var(--oe-tp-font-subtitle);
  line-height: 1.25;
}

.oe-tp__desc {
  margin: 0;
  color: var(--oe-tp-muted);
  line-height: 1.5;
}

.oe-tp__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.oe-tp__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 18px 0;
}

.oe-tp__navlink {
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--oe-tp-border);
  background: #f9fafb;
  text-decoration: none;
  color: var(--oe-tp-text);
  font-size: 13px;
}

.oe-tp__navlink.is-active {
  border-color: rgba(37, 99, 235, 0.35);
  background: rgba(37, 99, 235, 0.08);
}

.oe-tp-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--oe-tp-border);
  border-radius: 14px;
  background: var(--oe-tp-card-bg);
  text-decoration: none;
  color: inherit;
}

.oe-tp-card[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.98;
}

.oe-tp-card__title {
  font-weight: 700;
  font-size: var(--oe-tp-font-card-title);
}

.oe-tp-card__desc {
  color: var(--oe-tp-muted);
  font-size: 13px;
  line-height: 1.45;
}

.oe-tp-card__btn {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--oe-tp-border);
  background: #f9fafb;
  font-size: 13px;
  color: var(--oe-tp-text);
}

.oe-tp-card__btn--primary {
  border-color: rgba(37, 99, 235, 0.35);
  background: rgba(37, 99, 235, 0.08);
}

.oe-tp__section {
  margin-top: 6px;
}

.oe-tp__iframeWrap {
  margin-top: 18px;
  border: 1px solid var(--oe-tp-border);
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
}

.oe-tp__iframeHeader {
  padding: 12px 14px;
  border-bottom: 1px solid var(--oe-tp-border);
  background: #fbfdff;
}

.oe-tp__iframeTitle {
  font-size: 14px;
  margin-bottom: 6px;
}

.oe-tp__iframeNote {
  color: var(--oe-tp-muted);
  font-size: 13px;
  line-height: 1.4;
}

.oe-tp__iframeLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
  align-items: center;
}

.oe-tp__iframeLink {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid var(--oe-tp-border);
  background: #ffffff;
  text-decoration: none;
  color: var(--oe-tp-text);
  font-size: 13px;
}

.oe-tp__iframeLink--disabled {
  cursor: not-allowed;
  opacity: 0.55;
  pointer-events: none;
  user-select: none;
  background: #f3f4f6;
  color: var(--oe-tp-muted);
}

.oe-tp__iframePath {
  color: var(--oe-tp-muted);
  font-size: 12px;
}

.oe-tp__iframePath code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
}

.oe-tp__iframeHint {
  display: none;
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  color: #7c2d12;
  background: #fff7ed;
  border-bottom: 1px solid var(--oe-tp-border);
}

.oe-tp__iframeHint.is-visible {
  display: block;
}

.oe-tp__iframeWrap--pending .oe-tp__iframe {
  opacity: 0.92;
}

.oe-tp__iframe {
  width: 100%;
  height: 720px;
  border: 0;
  display: block;
}

.oe-tp__iframeWrap {
  min-height: 720px;
}

.oe-tp-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.oe-tp-selects {
  margin-top: 12px;
}

.oe-tp-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.oe-tp-field__label {
  font-size: 12px;
  color: var(--oe-tp-muted);
}

.oe-tp-form input,
.oe-tp-form select {
  height: 36px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid var(--oe-tp-border);
  background: #ffffff;
  color: var(--oe-tp-text);
}

.oe-tp-btn {
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(37, 99, 235, 0.35);
  background: rgba(37, 99, 235, 0.08);
  color: var(--oe-tp-text);
  font-weight: 600;
  font-size: var(--oe-tp-font-button);
  cursor: pointer;
}

.oe-tp__inlineLink {
  margin-left: 10px;
  color: var(--oe-tp-accent);
  text-decoration: underline;
  font-weight: 600;
}

.oe-tp__iframeMeta {
  margin-top: 10px;
  display: grid;
  gap: 6px;
  color: var(--oe-tp-text);
  font-size: 13px;
}

.oe-tp__iframeMeta code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
}

.oe-tp__notice {
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--oe-tp-border);
  background: #fff7ed;
  color: #7c2d12;
  font-size: 13px;
}

.oe-tp__footer {
  margin-top: 18px;
  color: var(--oe-tp-muted);
  font-size: 13px;
}

/* Admin wrapper tweaks */
.oe-tp--admin {
  padding: 0;
}

.wrap.oe-tp-admin .oe-tp {
  max-width: none;
  padding: 0;
}

/* Yarışmalarım tablosu */
.oe-tp-tableWrap {
  margin-top: 16px;
  overflow-x: auto;
  border: 1px solid var(--oe-tp-border);
  border-radius: 12px;
  background: #fff;
}

.oe-tp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.oe-tp-table th,
.oe-tp-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--oe-tp-border);
  text-align: left;
  vertical-align: middle;
}

.oe-tp-table thead th {
  background: #f9fafb;
  font-weight: 600;
}

.oe-tp-table__actions {
  white-space: normal;
  min-width: 220px;
}

.oe-tp-quizzes__actionsTop {
  margin-top: 12px;
}

.oe-tp-iconBtn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 2px 6px 2px 0;
  padding: 4px 8px;
  border-radius: 8px;
  border: 1px solid var(--oe-tp-border);
  background: #fff;
  text-decoration: none;
  color: var(--oe-tp-text);
  font-size: 12px;
}

.oe-tp-iconBtn--primary {
  border-color: rgba(37, 99, 235, 0.35);
  background: rgba(37, 99, 235, 0.08);
}

.oe-tp-iconBtn--disabled {
  opacity: 0.45;
  pointer-events: none;
}

.oe-tp-iconBtn__txt {
  font-size: 12px;
}

/* Soru ekle */
.oe-tp-questionAdd .oe-tp-qa__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--oe-tp-border);
}

.oe-tp-qa__toolbarMid {
  flex: 1 1 200px;
}

.oe-tp-qa__quizName {
  margin: 4px 0 0 0;
  color: var(--oe-tp-muted);
  font-size: 14px;
}

.oe-tp-qa__form {
  max-width: 820px;
}

.oe-tp-qa__section {
  margin-top: 18px;
  padding-top: 4px;
}

.oe-tp-qa__h3 {
  margin: 0 0 8px 0;
  font-size: 16px;
}

.oe-tp-qa__grid2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
}

.oe-tp-textarea {
  width: 100%;
  min-height: 72px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--oe-tp-border);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.45;
  resize: vertical;
}

.oe-tp-textarea--lg {
  min-height: 160px;
}

.oe-tp-input {
  width: 100%;
  max-width: 220px;
  height: 40px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid var(--oe-tp-border);
}

.oe-tp-input--disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.oe-tp-qa__radios {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 6px;
}

.oe-tp-qa__radios label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}

.oe-tp-qa__submitRow {
  margin-top: 24px;
}

.oe-tp-btn--ghost {
  border-color: var(--oe-tp-border);
  background: #f9fafb;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.oe-tp-btn--primary {
  border-color: rgba(37, 99, 235, 0.45);
  background: rgba(37, 99, 235, 0.12);
}

.oe-tp__notice--ok {
  background: #ecfdf5;
  color: #065f46;
  border-color: #a7f3d0;
}

.oe-tp__notice--err {
  background: #fef2f2;
  color: #991b1b;
  border-color: #fecaca;
}

.oe-tp-qa__lead {
  margin-top: 12px;
}

.oe-tp-qa__uploadForm {
  margin-top: 8px;
}

.oe-tp-qa__form--document {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--oe-tp-border);
}

.oe-tp-qa__section--documentExtract {
  margin-top: 0;
}

.oe-tp-qa__docFootnote {
  margin-top: 10px;
  font-size: 13px;
}

.oe-tp-document-client-feedback {
  margin: 8px 0 12px 0;
  font-size: 14px;
  line-height: 1.45;
  white-space: pre-wrap;
}

.oe-tp-document-file-list-wrap {
  margin: 10px 0 12px 0;
}

.oe-tp-document-file-list__title {
  margin: 0 0 6px 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--oe-tp-text);
}

.oe-tp-document-file-list {
  margin: 0;
  padding-left: 1.25rem;
  font-size: 13px;
  color: var(--oe-tp-muted);
  line-height: 1.5;
}

.oe-tp-field--checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0 4px 0;
}

.oe-tp-field--checkbox .oe-tp-field__label {
  margin: 0;
  font-weight: 500;
  color: var(--oe-tp-text);
}

.oe-tp-field--checkbox input[type="checkbox"] {
  margin-top: 3px;
  flex-shrink: 0;
}

.oe-tp-document-client-feedback.is-error {
  color: #991b1b;
}

.oe-tp-document-client-feedback.is-ok {
  color: #065f46;
}

.oe-tp-answerKeyWrap {
  margin: 14px 0 10px 0;
}

/* Yalnızca doğrudan sütun sarmalayıcısı yapışır; kart içindeki ikinci Wrap yapışmasın */
.oe-question-side--answerKey > .oe-tp-answerKeyWrap {
  position: sticky;
  top: 16px;
  margin-top: 0;
}

.oe-tp-answerKeyWrap[hidden] {
  display: none !important;
}

.oe-tp-answerKeyCard {
  background: var(--oe-tp-card-bg);
  border: 1px solid var(--oe-tp-border);
  border-radius: var(--oe-tp-radius);
  box-shadow: var(--oe-tp-shadow);
  padding: 14px 14px 10px;
}

.oe-tp-answerKeyCard__title {
  margin: 0 0 6px 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--oe-tp-text);
}

.oe-tp-answerKeyCard__hint {
  margin: 0 0 10px 0;
  font-size: 13px;
  color: var(--oe-tp-muted);
  line-height: 1.45;
}

.oe-tp-answerKey {
  max-height: 52vh;
  overflow: auto;
  border: 1px solid var(--oe-tp-border);
  border-radius: 10px;
  background: #fafafa;
}

.oe-tp-answerKey--limit12 {
  /* 12 satıra kadar göster, sonrasında scroll */
  max-height: calc(12 * 44px);
}

.oe-tp-answerKey__row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--oe-tp-border);
  flex-wrap: nowrap;
}

.oe-tp-answerKey__row:last-child {
  border-bottom: 0;
}

.oe-tp-answerKey__row--excluded {
  opacity: 0.45;
}

.oe-tp-answerKey__row--warn {
  background: #fef2f2;
}

.oe-tp-answerKey__num {
  min-width: 2rem;
  font-weight: 700;
  font-size: 14px;
  color: var(--oe-tp-text);
}

.oe-tp-answerKey__bubbles {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
}

.oe-tp-answerKey__bubble {
  /* Radyo position:absolute için CB; yoksa sticky üst sarmalayıcıya yapışıp focus’ta sayfa zıplıyor */
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  cursor: pointer;
  user-select: none;
}

.oe-tp-answerKey__radio {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}

.oe-tp-answerKey__bubbleLbl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #cbd5e1;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  color: #334155;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.oe-tp-answerKey__bubble:hover .oe-tp-answerKey__bubbleLbl {
  border-color: #94a3b8;
}

.oe-tp-answerKey__bubble:has(.oe-tp-answerKey__radio:checked) .oe-tp-answerKey__bubbleLbl {
  border-color: #2563eb;
  background: #eff6ff;
  color: #1d4ed8;
}

.oe-tp-qcard__opt--hide {
  display: none !important;
}

.oe-tp-previewBundle {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 8px;
}

.oe-tp-previewSectionLbl {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.oe-tp-preview {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 12px;
}

.oe-tp-preview--existing {
  margin-top: 8px;
}

.oe-tp-qcard {
  border: 1px solid var(--oe-tp-border);
  border-radius: 12px;
  padding: 14px;
  background: #fafafa;
}

.oe-tp-qcard__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 14px;
}

/* Önizleme: otomatik ayrıştırma / kalite kontrol uyarısı */
.oe-tp-qcard__reviewWarn {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 12px;
  padding: 8px 10px;
  border: 1px solid #ffccc7;
  border-radius: 10px;
  background: #fff1f0;
  color: #b42318;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.oe-tp-qcard__reviewWarn-icon {
  flex-shrink: 0;
  margin-top: 1px;
  font-size: 15px;
  line-height: 1.2;
}

.oe-tp-qcard__reviewWarn-text {
  min-width: 0;
  flex: 1 1 auto;
}

.oe-tp-qcard:has(.oe-tp-qcard__reviewWarn) .oe-tp-qcard__head {
  margin-bottom: 6px;
}

.oe-tp-qcard__include {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}

.oe-tp-qcard__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
  margin-top: 8px;
}

/* Soru kartı: Süre, Puan, Cevap (aynı satır; mobilde tek sütun) */
.oe-tp-qcard__grid--meta {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
}

@media (max-width: 720px) {
  .oe-tp-qcard__grid--meta {
    grid-template-columns: 1fr;
  }
}

.oe-tp-qcard__grid--meta .oe-tp-qcard__correct {
  width: 100%;
  min-width: 0;
}

.oe-tp-qcard .oe-tp-textarea {
  min-height: 52px;
}

.oe-tp-quizView .oe-tp-qa__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

/* ——— Uygulama kabuğu (sidebar + üst bar) ——— */
.oe-tp-app {
  display: flex;
  align-items: stretch;
  min-height: 100vh;
  background: var(--oe-tp-page-bg);
  color: var(--oe-tp-text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  position: relative;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.oe-tp-app__menuBtn {
  display: none;
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 60;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid var(--oe-tp-border);
  background: #fff;
  box-shadow: var(--oe-tp-shadow);
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
}

.oe-tp-app__menuBtnBar {
  display: block;
  width: 18px;
  height: 2px;
  background: #374151;
  border-radius: 1px;
}

.oe-tp-app__overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  z-index: 40;
}

.oe-tp-app.is-nav-open .oe-tp-app__overlay {
  display: block;
}

.oe-tp-sidebar {
  width: var(--oe-tp-sidebar-w);
  flex: 0 0 var(--oe-tp-sidebar-w);
  background: #fff;
  border-right: 1px solid var(--oe-tp-border);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  align-self: stretch;
  z-index: 50;
  box-shadow: 1px 0 0 rgba(15, 23, 42, 0.03);
}

.oe-tp-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 22px 20px;
  text-decoration: none;
  color: var(--oe-tp-text);
  border-bottom: 1px solid var(--oe-tp-border);
}

.oe-tp-brand__mark {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #22c55e 0%, #3b82f6 100%);
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
}

.oe-tp-brand__text {
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}

/* Panel: OyunEtkinlik logo görseli (EduDash’te tam genişlik teacher-dashboard.css) */
.oe-tp-brand.oe-tp-brand--logoImg {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0 0 12px;
}

.oe-tp-brand--logoImg .oe-tp-brand__logoImg {
  display: block;
  width: 90%;
  max-width: 100%;
  height: auto;
  max-height: min(180px, calc(var(--oe-tp-sidebar-w, 260px) * 0.648));
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
  object-position: center top;
}

.oe-tp-sidebar__nav {
  padding: 12px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.oe-tp-sidebar__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: #374151;
  font-size: 14px;
  font-weight: 500;
  border: 1px solid transparent;
}

.oe-tp-sidebar__link:hover {
  background: #f9fafb;
  color: var(--oe-tp-text);
}

.oe-tp-sidebar__link.is-active {
  background: rgba(37, 99, 235, 0.1);
  color: var(--oe-tp-accent-600);
  border-color: rgba(37, 99, 235, 0.18);
}

/* Pasif “Yakında” ana menü öğeleri (Mağaza altı) */
.oe-tp-sidebar__nav .oe-tp-sidebar__link.oe-sidebar-item--soon {
  opacity: 0.62;
  cursor: not-allowed;
  pointer-events: auto;
}

.oe-tp-sidebar__nav .oe-tp-sidebar__link.oe-sidebar-item--soon:hover,
.oe-tp-sidebar__nav .oe-tp-sidebar__link.oe-sidebar-item--soon:focus,
.oe-tp-sidebar__nav .oe-tp-sidebar__link.oe-sidebar-item--soon:focus-visible {
  background: transparent;
  box-shadow: none;
  transform: none;
  color: #374151;
  border-color: transparent;
}

.oe-tp-sidebar__nav .oe-tp-sidebar__link.oe-sidebar-item--soon .oe-sidebar-text {
  flex: 1 1 auto;
  min-width: 0;
}

.oe-tp-sidebar__nav .oe-tp-sidebar__link.oe-sidebar-item--soon .oe-sidebar-soon-badge {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 7px;
  border-radius: 999px;
  color: #b45309;
  background: #fff3cd;
  border: 1px solid rgba(245, 158, 11, 0.25);
  white-space: nowrap;
  line-height: 1.2;
}

.oe-tp-sidebar__nav .oe-tp-sidebar__link.oe-sidebar-item--soon[aria-disabled="true"] {
  user-select: none;
}

.oe-tp-sidebar__ico {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  opacity: 0.85;
  background: currentColor;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.oe-tp-sidebar__ico--home {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E");
}

.oe-tp-sidebar__ico--class {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 5.025a15 15 0 01.208-3H15'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 5.025a15 15 0 01.208-3H15'/%3E%3C/svg%3E");
}

.oe-tp-sidebar__ico--user {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E");
}

.oe-tp-sidebar__ico--trophy {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z'/%3E%3C/svg%3E");
}

.oe-tp-sidebar__ico--play {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
}

.oe-tp-sidebar__ico--brain {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z'/%3E%3C/svg%3E");
}

.oe-tp-sidebar__group {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--oe-tp-border);
}

.oe-tp-sidebar__groupLabel {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--oe-tp-muted);
  padding: 4px 12px 8px;
}

.oe-tp-sidebar__sublink {
  display: block;
  padding: 8px 12px 8px 22px;
  border-radius: 8px;
  font-size: 13px;
  color: #4b5563;
  text-decoration: none;
  position: relative;
}

.oe-tp-sidebar__sublink::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -2px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #9ca3af;
}

.oe-tp-sidebar__sublink:hover {
  background: #f9fafb;
  color: var(--oe-tp-text);
}

.oe-tp-sidebar__sublink.is-active {
  background: rgba(37, 99, 235, 0.08);
  color: var(--oe-tp-accent-600);
  font-weight: 600;
}

.oe-tp-sidebar__sublink--logout {
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--oe-tp-border);
  font-weight: 700;
  color: #b91c1c !important;
}

.oe-tp-sidebar__sublink--logout::before {
  background: #f87171;
}

.oe-tp-sidebar__sublink--logout:hover {
  background: #fef2f2;
  color: #991b1b !important;
}

.oe-tp-sidebar__foot {
  margin-top: auto;
  min-height: 48px;
  margin: 16px;
  border-radius: var(--oe-tp-radius);
  background: linear-gradient(180deg, #ecfdf5 0%, #eff6ff 100%);
  opacity: 0.85;
}

/* Öğretmen paneli: overlay + .oe-dashboard satır düzeni */
#oe-tp-app.oe-tp-eduDash {
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

#oe-tp-app.oe-tp-eduDash > .oe-dashboard {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}

.oe-tp-mainCol {
  flex: 1 1 auto;
  min-width: 0;
  width: 0;
  display: flex;
  flex-direction: column;
}

.oe-tp-topbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  padding: 14px 28px;
  background: #fff;
  border-bottom: 1px solid var(--oe-tp-border);
  position: sticky;
  top: 0;
  z-index: 30;
}

.oe-tp-topbar__spacer {
  flex: 1;
}

.oe-tp-topbar__actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.oe-tp-notify {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid var(--oe-tp-border);
  background: #fff;
  cursor: pointer;
}

.oe-tp-notify__ico {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  background: #6b7280;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9'/%3E%3C/svg%3E");
  mask-size: contain;
  -webkit-mask-size: contain;
}

.oe-tp-notify__badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--oe-tp-accent);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.oe-tp-user {
  display: flex;
  align-items: center;
  gap: 10px;
}

.oe-tp-user__avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid var(--oe-tp-border);
}

.oe-tp-user__name {
  font-size: 14px;
  font-weight: 600;
  color: var(--oe-tp-text);
}

.oe-tp-user__chev {
  width: 8px;
  height: 8px;
  border-right: 2px solid #9ca3af;
  border-bottom: 2px solid #9ca3af;
  transform: rotate(45deg);
  margin-top: -4px;
}

.oe-tp-userMenu {
  position: relative;
}

.oe-tp-userMenu__summary {
  display: flex;
  align-items: center;
  gap: 10px;
  list-style: none;
  cursor: pointer;
  user-select: none;
}

.oe-tp-userMenu__summary::-webkit-details-marker {
  display: none;
}

.oe-tp-userMenu__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 220px;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid var(--oe-tp-border);
  background: #fff;
  box-shadow: var(--oe-tp-shadow);
  z-index: 80;
}

.oe-tp-userMenu__link {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--oe-tp-text);
  text-decoration: none;
}

.oe-tp-userMenu__link:hover {
  background: #f9fafb;
}

.oe-tp-userMenu__link--logout {
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--oe-tp-border);
  color: #b91c1c;
  font-weight: 700;
}

.oe-tp-userMenu__link--logout:hover {
  background: #fef2f2;
  color: #991b1b;
}

.oe-tp-content {
  flex: 1 1 auto;
  min-height: 0;
  padding: clamp(16px, 2vw, 28px) clamp(14px, 2.2vw, 32px) clamp(24px, 3vw, 48px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.oe-tp-panel {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
}

.oe-tp-app .oe-tp-panelScene {
  width: 100%;
  max-width: var(--oe-tp-content-max);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.oe-tp-app .oe-tp-teacherShell {
  background: transparent;
}

.oe-tp-pageHead {
  margin-bottom: 22px;
}

.oe-tp-pageHead--row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.oe-tp-pageHead__title {
  margin: 0 0 6px 0;
  font-size: var(--oe-tp-font-title);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.oe-tp-pageHead__lead {
  margin: 0;
  color: var(--oe-tp-muted);
  font-size: var(--oe-tp-font-body);
  line-height: 1.55;
  max-width: 52ch;
}

.oe-tp-btn--cta {
  height: auto;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  background: var(--oe-tp-accent);
  color: #fff !important;
  border: 1px solid var(--oe-tp-accent-600);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
}

.oe-tp-btn--cta:hover {
  filter: brightness(1.05);
}

.oe-tp-statRow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.oe-tp-statCard {
  display: flex;
  gap: 14px;
  padding: 18px 20px;
  background: #fff;
  border-radius: var(--oe-tp-radius);
  border: 1px solid var(--oe-tp-border);
  box-shadow: var(--oe-tp-shadow);
}

.oe-tp-statCard__icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  flex-shrink: 0;
}

.oe-tp-statCard__icon--trophy {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.15), rgba(37, 99, 235, 0.05));
}

.oe-tp-statCard__icon--doc {
  background: linear-gradient(135deg, rgba(20, 184, 166, 0.2), rgba(20, 184, 166, 0.06));
}

.oe-tp-statCard__icon--signal {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(139, 92, 246, 0.06));
}

.oe-tp-statCard__value {
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.oe-tp-statCard__label {
  font-weight: 600;
  font-size: 14px;
  margin-top: 4px;
}

.oe-tp-statCard__hint {
  font-size: 12px;
  color: var(--oe-tp-muted);
  margin-top: 4px;
  line-height: 1.35;
}

.oe-tp-adSlot {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 24px;
  margin-bottom: 22px;
  border: 2px dashed #d1d5db;
  border-radius: var(--oe-tp-radius);
  background: #fafafa;
  color: var(--oe-tp-muted);
}

.oe-tp-adSlot__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #e5e7eb;
  flex-shrink: 0;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M11 5.882V19.24a1.76 1.76 0 01-3.417.592l-2.147-6.15M18 13a3 3 0 100-6M5.436 13.683A4.001 4.001 0 017 6h1.416M15 11v4.01'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M11 5.882V19.24a1.76 1.76 0 01-3.417.592l-2.147-6.15M18 13a3 3 0 100-6M5.436 13.683A4.001 4.001 0 017 6h1.416M15 11v4.01'/%3E%3C/svg%3E");
  mask-size: 70%;
  -webkit-mask-size: 70%;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background: #9ca3af;
}

.oe-tp-adSlot__title {
  font-weight: 700;
  font-size: 15px;
  color: var(--oe-tp-text);
}

.oe-tp-adSlot__sub {
  font-size: 13px;
  margin-top: 2px;
}

.oe-tp-tableWrap--quiz {
  border-radius: var(--oe-tp-radius);
  box-shadow: var(--oe-tp-shadow);
  overflow-x: visible;
}

.oe-tp-table--quiz {
  width: 100%;
  table-layout: auto;
}

.oe-tp-table--quiz th:nth-child(1),
.oe-tp-table--quiz td:nth-child(1) {
  min-width: 180px;
}

.oe-tp-table--quiz th:nth-child(5),
.oe-tp-table--quiz td:nth-child(5) {
  white-space: nowrap;
}

.oe-tp-table__actions--wrap {
  min-width: 420px;
  max-width: none;
  vertical-align: top;
}

body.oe-tp-shell-active .oe-tp-table__actions--wrap {
  min-width: 460px;
}

.oe-tp-table__actions--wrap .oe-tp-actBtn {
  white-space: nowrap;
}

.oe-tp-actBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 3px 4px 3px 0;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  background: #fff;
}

.oe-tp-actBtn--questions {
  border-color: rgba(37, 99, 235, 0.45);
  color: var(--oe-tp-accent-600);
}

.oe-tp-actBtn--add {
  border-color: rgba(22, 163, 74, 0.45);
  color: #15803d;
}

.oe-tp-actBtn--import {
  border-color: rgba(124, 58, 237, 0.45);
  color: #6d28d9;
}

.oe-tp-actBtn--edit {
  border-color: rgba(234, 88, 12, 0.45);
  color: #c2410c;
}

.oe-tp-actBtn--play {
  border-color: #16a34a;
  background: #22c55e;
  color: #fff !important;
}

.oe-tp-actBtn--play:hover {
  filter: brightness(1.05);
}

.oe-tp-actBtn--del {
  border-color: rgba(220, 38, 38, 0.45);
  color: #b91c1c;
}

.oe-tp-actBtn--disabled {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}

.oe-tp-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

.oe-tp-pill--live {
  background: #dcfce7;
  color: #166534;
}

.oe-tp-pill--draft {
  background: #ffedd5;
  color: #9a3412;
}

.oe-tp-pill--meta {
  margin-left: 6px;
  background: #eef2ff;
  color: #3730a3;
}

.oe-tp-pill--quizSrc {
  margin-right: 6px;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 700;
}

.oe-tp-pill--quizOwn {
  background: #ecfdf5;
  color: #047857;
}

.oe-tp-pill--quizPool {
  background: #fdf4ff;
  color: #86198f;
}

.oe-tp-pill--quizOther {
  background: #f3f4f6;
  color: #4b5563;
}

.oe-tp__notice--empty {
  background: #f9fafb;
  color: #374151;
  border-color: var(--oe-tp-border);
}

.oe-tp-dashGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.oe-tp-dashCard {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--oe-tp-border);
  border-radius: var(--oe-tp-radius);
  box-shadow: var(--oe-tp-shadow);
  text-decoration: none;
  color: inherit;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.oe-tp-dashCard:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.oe-tp-dashCard__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  margin-bottom: 4px;
}

.oe-tp-dashCard__icon--class {
  background: linear-gradient(135deg, #dbeafe, #eff6ff);
}

.oe-tp-dashCard__icon--users {
  background: linear-gradient(135deg, #d1fae5, #ecfdf5);
}

.oe-tp-dashCard__icon--trophy {
  background: linear-gradient(135deg, #fef3c7, #fffbeb);
}

.oe-tp-dashCard__icon--play {
  background: linear-gradient(135deg, #e0e7ff, #eef2ff);
}

.oe-tp-dashCard__title {
  font-weight: 700;
  font-size: var(--oe-tp-font-card-title);
}

.oe-tp-dashCard__desc {
  font-size: 13px;
  color: var(--oe-tp-muted);
  line-height: 1.45;
}

.oe-tp-accountCard {
  background: #fff;
  border: 1px solid var(--oe-tp-border);
  border-radius: var(--oe-tp-radius);
  padding: 20px 24px;
  box-shadow: var(--oe-tp-shadow);
  max-width: 520px;
}

.oe-tp-dl {
  margin: 0;
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 10px 16px;
  font-size: 14px;
}

.oe-tp-dl dt {
  margin: 0;
  color: var(--oe-tp-muted);
  font-weight: 600;
}

.oe-tp-dl dd {
  margin: 0;
}

.oe-tp-accountCard--wide {
  max-width: min(720px, 100%);
}

.oe-tp-accountCard--narrow {
  max-width: 420px;
}

.oe-tp-accountForm__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.oe-tp-accountForm__field--span2 {
  grid-column: 1 / -1;
}

.oe-tp-accountForm__field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--oe-tp-muted);
  margin: 0 0 6px 0;
}

.oe-tp-accountForm__field input[type="text"],
.oe-tp-accountForm__field input[type="email"],
.oe-tp-accountForm__field input[type="password"],
.oe-tp-accountForm__field input[type="date"],
.oe-tp-accountForm__field select,
.oe-tp-accountForm__field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--oe-tp-border);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  background: #fff;
}

.oe-tp-accountForm__readonly {
  margin: 0;
  padding: 10px 12px;
  border: 1px dashed var(--oe-tp-border);
  border-radius: 10px;
  font-weight: 600;
}

.oe-tp-accountForm__hint {
  margin: 6px 0 0 0;
  font-size: 12px;
  color: var(--oe-tp-muted);
}

.oe-tp-accountForm__actions {
  margin: 20px 0 0 0;
}

.oe-tp-flash {
  margin: 0 0 16px 0;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid rgba(37, 99, 235, 0.25);
  background: rgba(37, 99, 235, 0.08);
  font-size: 14px;
  color: var(--oe-tp-text);
}

.oe-tp-adBank {
  margin: 0;
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 10px 16px;
}

.oe-tp-adBank dt {
  margin: 0;
  color: var(--oe-tp-muted);
  font-weight: 600;
}

.oe-tp-adBank dd {
  margin: 0;
}

.oe-tp-iban {
  font-size: 14px;
  word-break: break-all;
}

.oe-tp-adStatus__title {
  margin: 0 0 8px 0;
  font-size: var(--oe-tp-font-card-title);
}

.oe-tp-adStatus__subhead {
  margin: 18px 0 6px 0;
  font-size: 15px;
}

.oe-tp-adStatus__line {
  margin: 0 0 6px 0;
}

.oe-tp-adStatus__sub,
.oe-tp-adStatus__muted {
  margin: 0;
  color: var(--oe-tp-muted);
  font-size: 14px;
}

.oe-tp-notice--info {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #eff6ff;
  border: 1px solid rgba(37, 99, 235, 0.2);
  font-size: 14px;
}

.oe-tp-dl--usage {
  grid-template-columns: minmax(160px, 200px) 1fr;
}

@media (max-width: 1024px) {
  .oe-tp-statRow {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  body.oe-tp-shell-active #oe-tp-app.oe-tp-eduDash .oe-tp-mainCol,
  body.oe-tp-shell-active #oe-tp-app.oe-tp-eduDash .oe-dashboard-main {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 auto;
  }

  body.oe-tp-shell-active #oe-tp-app.oe-tp-eduDash .oe-tp-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  #oe-tp-app.oe-tp-eduDash,
  #oe-tp-app.oe-tp-eduDash > .oe-dashboard {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  #oe-tp-app.oe-tp-eduDash > .oe-dashboard {
    display: block;
  }

  #oe-tp-app.oe-tp-eduDash .oe-tp-mainCol {
    width: 100% !important;
    min-width: 0;
    margin-left: 0;
  }

  #oe-tp-app.oe-tp-eduDash .oe-tp-content {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Mobil: sabit konum yerine üst çubukta akış içi — fixed kabuk + transform ile kaybolmayı önler */
  .oe-tp-app__menuBtn {
    display: flex !important;
    position: relative;
    inset: auto;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    flex-shrink: 0;
    margin: 0;
    z-index: 5;
  }

  .oe-tp-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    transform: translateX(-102%);
    transition: transform 0.2s ease;
    box-shadow: var(--oe-tp-shadow);
  }

  .oe-tp-app__overlay {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }

  body.admin-bar .oe-tp-sidebar {
    top: 32px;
    height: calc(100vh - 32px);
    height: calc(100dvh - 32px);
    bottom: auto;
  }

  @media screen and (max-width: 782px) {
    body.admin-bar .oe-tp-sidebar {
      top: 46px;
      height: calc(100vh - 46px);
      height: calc(100dvh - 46px);
    }
  }

  .oe-tp-app.is-nav-open .oe-tp-sidebar {
    transform: translateX(0);
    /* Above .oe-tp-app__overlay (100080) in shell; below menu button (100095) */
    z-index: 100093 !important;
    pointer-events: auto !important;
  }

  .oe-tp-app.is-nav-open .oe-tp-app__overlay {
    display: block;
    opacity: 1;
    pointer-events: auto;
    z-index: 100080;
  }

  .oe-tp-content {
    padding: 56px 16px 32px;
  }

  .oe-tp-topbar {
    padding-left: 12px;
  }

  #oe-tp-app.oe-tp-eduDash .oe-tp-eduDash__topbar {
    padding-left: 12px;
    padding-right: 16px;
  }

  #oe-tp-app.oe-tp-eduDash .oe-dashboard .oe-content.oe-tp-content {
    padding: 56px 16px 32px;
  }

  .oe-tp-userMenu__panel {
    max-width: min(280px, calc(100vw - 24px));
  }

  .oe-tp-tableWrap--quiz {
    overflow-x: auto;
  }
}

@media (max-width: 640px) {
  .oe-tp-user__name {
    display: none;
  }

  .oe-tp-pageHead--row {
    flex-direction: column;
    align-items: stretch;
  }

  .oe-tp-btn--cta {
    width: 100%;
  }
}

/* Eski .oe-tp sarmalayıcısı olmadan iç sayfalar */
.oe-tp-app .oe-tp-questionAdd,
.oe-tp-app .oe-tp-quizView,
.oe-tp-app .oe-tp-play {
  max-width: none;
}

.oe-tp-app .oe-tp__grid--games {
  margin-top: 8px;
}

/* ===== Tam ekran: tema dar alanı + header/footer (body.oe-tp-shell-active) ===== */
body.oe-tp-shell-active {
  overflow: hidden !important;
  max-width: none !important;
}

body.oe-tp-shell-active #wpadminbar {
  position: fixed;
}

body.oe-tp-shell-active .oe-tp-app {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 100090;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  top: 0;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
}

body.oe-tp-shell-active.admin-bar .oe-tp-app {
  top: 32px;
  height: calc(100vh - 32px);
  height: calc(100dvh - 32px);
}

@media screen and (max-width: 782px) {
  body.oe-tp-shell-active.admin-bar .oe-tp-app {
    top: 46px;
    height: calc(100vh - 46px);
    height: calc(100dvh - 46px);
  }
}

body.oe-tp-shell-active .oe-tp-app__menuBtn {
  z-index: 100095;
}

body.oe-tp-shell-active .oe-tp-app__overlay {
  z-index: 100080;
}

body.oe-tp-shell-active .oe-tp-sidebar {
  z-index: 100092;
}

/* Tema üst/alt ve sayfa başlığı (Astra, LearnDash Academy, genel) */
body.oe-tp-shell-active #masthead,
body.oe-tp-shell-active .site-header,
body.oe-tp-shell-active .site-header-primary-section,
body.oe-tp-shell-active .site-header-focus-wrap,
body.oe-tp-shell-active .ast-primary-header-bar,
body.oe-tp-shell-active .ast-above-header,
body.oe-tp-shell-active .ast-below-header,
body.oe-tp-shell-active .ast-mobile-header-wrap,
body.oe-tp-shell-active .ast-transparent-header,
body.oe-tp-shell-active .site-footer,
body.oe-tp-shell-active .site-below-footer-wrap,
body.oe-tp-shell-active footer.site-footer,
body.oe-tp-shell-active #colophon,
body.oe-tp-shell-active .footer-adv,
body.oe-tp-shell-active .ast-footer-overlay,
body.oe-tp-shell-active .ld-tabs-navigation,
body.oe-tp-shell-active .entry-header,
body.oe-tp-shell-active .ast-archive-description,
body.oe-tp-shell-active .astra-advanced-hook-description {
  display: none !important;
}

/* Tema içerik sarmalayıcılarını tam genişlik / padding sıfır */
body.oe-tp-shell-active #page,
body.oe-tp-shell-active .site,
body.oe-tp-shell-active #content,
body.oe-tp-shell-active .site-content,
body.oe-tp-shell-active .site-content .wrap,
body.oe-tp-shell-active .content-area,
body.oe-tp-shell-active #primary,
body.oe-tp-shell-active #main,
body.oe-tp-shell-active .ast-container,
body.oe-tp-shell-active .ast-container-fluid,
body.oe-tp-shell-active .ast-row,
body.oe-tp-shell-active .ast-separate-container .ast-article-post,
body.oe-tp-shell-active .ast-separate-container .ast-article-inner,
body.oe-tp-shell-active .ast-plain-container,
body.oe-tp-shell-active .entry-content,
body.oe-tp-shell-active .learndash-wrapper,
body.oe-tp-shell-active .container,
body.oe-tp-shell-active .container-fluid {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

body.oe-tp-shell-active .ast-separate-container {
  background: transparent !important;
}

body.oe-tp-shell-active .site-content .ast-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.oe-tp-shell-active .ast-separate-container .ast-article-single,
body.oe-tp-shell-active .ast-separate-container .ast-article-inner {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.oe-tp-shell-active .entry-content > .oe-tp-app {
  margin-left: 0;
  margin-right: 0;
}

body.oe-tp-shell-active .oe-tp-mainCol {
  width: auto;
  flex: 1 1 0%;
}

body.oe-tp-shell-active .oe-tp-pageHead__lead {
  max-width: none;
}

/* ===== Sınıflarım: sınıf kartları, araç çubuğu, öğrenci listesi, modallar ===== */
.oe-tp-classesPage {
  --oe-tp-class-cream: #fff9e6;
  --oe-tp-class-cream-border: #f5e6b8;
  --oe-tp-class-blue: #1e56c9;
  --oe-tp-class-blue-soft: #5b7fd1;
  --oe-tp-class-add-bg: #eef2f7;
}

.oe-tp-classesPage__title {
  margin: 0 0 16px 0;
  font-size: 26px;
  font-weight: 700;
  color: var(--oe-tp-text);
}

.oe-tp-classCards {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: stretch;
  margin-bottom: 20px;
}

.oe-tp-classCard {
  position: relative;
  flex: 1 1 160px;
  min-width: 160px;
  max-width: 220px;
  padding: 18px 16px 52px 16px;
  border-radius: 16px;
  background: var(--oe-tp-class-cream);
  border: 1px solid var(--oe-tp-class-cream-border);
  box-shadow: 0 4px 14px rgba(30, 86, 201, 0.08), 0 1px 3px rgba(15, 23, 42, 0.06);
  text-align: center;
  transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}

.oe-tp-classCard.is-active {
  border-color: rgba(37, 99, 235, 0.55);
  box-shadow: 0 6px 20px rgba(37, 99, 235, 0.18), 0 2px 6px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.oe-tp-classCard--add {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 168px;
  padding: 0;
  background: var(--oe-tp-class-add-bg);
  border: 2px dashed #c5ced9;
  cursor: pointer;
  box-shadow: none;
}

.oe-tp-classCard--add:hover {
  border-color: var(--oe-tp-teal);
  background: #e8f4f2;
}

.oe-tp-classCard__actionsTop {
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  pointer-events: none;
}

.oe-tp-classCard__iconForm {
  margin: 0;
  padding: 0;
  display: inline;
  pointer-events: auto;
}

.oe-tp-classCard__iconBtn {
  appearance: none;
  border: 0;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 10px;
  width: 34px;
  height: 34px;
  line-height: 1;
  cursor: pointer;
  font-size: 15px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  pointer-events: auto;
}

.oe-tp-classCard__iconBtn--del:hover {
  background: #fee2e2;
}

.oe-tp-classCard__iconBtn--edit:hover {
  background: #dbeafe;
}

.oe-tp-classCard__iconBtn--disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.oe-tp-classCard__name {
  margin-top: 22px;
  font-size: 22px;
  font-weight: 800;
  color: var(--oe-tp-class-blue);
  line-height: 1.15;
  word-break: break-word;
}

.oe-tp-classCard__count {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--oe-tp-class-blue-soft);
}

.oe-tp-classCard__viewBtn {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  display: inline-block;
  padding: 7px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(30, 86, 201, 0.25);
  color: var(--oe-tp-class-blue);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.oe-tp-classCard__viewBtn:hover {
  background: #f8fafc;
}

.oe-tp-classCard__plus {
  font-size: 56px;
  font-weight: 300;
  line-height: 1;
  color: var(--oe-tp-teal);
}

.oe-tp-classesToolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 8px 0 20px 0;
  padding: 12px 14px;
  background: #fafbff;
  border: 1px solid var(--oe-tp-border);
  border-radius: var(--oe-tp-radius);
}

.oe-tp-classesToolbar__left {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.oe-tp-toolbarBtn {
  appearance: none;
  border-radius: 10px;
  border: 1px solid rgba(37, 99, 235, 0.35);
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  padding: 10px 16px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
}

.oe-tp-toolbarBtn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}

.oe-tp-toolbarBtn--ghost {
  background: #fff;
  color: var(--oe-tp-accent);
  border-color: var(--oe-tp-border);
  box-shadow: none;
}

.oe-tp-toolbarBtn--ghost:hover {
  background: #f8fafc;
}

.oe-tp-classesSearch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--oe-tp-border);
  background: #fff;
  min-width: 200px;
}

.oe-tp-classesSearch__ico {
  color: var(--oe-tp-muted);
  font-size: 16px;
}

.oe-tp-classesSearch__input {
  border: 0;
  outline: none;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  background: transparent;
}

.oe-tp-studentSection {
  margin-top: 8px;
}

.oe-tp-studentSection__empty {
  margin-top: 10px;
}

.oe-tp-studentGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  padding: 4px 2px 8px 2px;
}

@media (max-width: 720px) {
  .oe-tp-studentGrid {
    grid-template-columns: 1fr;
  }
}

.oe-tp-studentRow {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #fbcfe8;
  background: linear-gradient(90deg, rgba(252, 231, 243, 0.45) 0%, rgba(239, 246, 255, 0.9) 100%);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.oe-tp-studentRow:nth-child(4n + 1),
.oe-tp-studentRow:nth-child(4n + 2) {
  border-color: #fbcfe8;
}

.oe-tp-studentRow:nth-child(4n + 3),
.oe-tp-studentRow:nth-child(4n + 4) {
  border-color: #bfdbfe;
  background: linear-gradient(90deg, rgba(239, 246, 255, 0.95) 0%, rgba(252, 231, 243, 0.35) 100%);
}

.oe-tp-studentRow__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--oe-tp-border);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.oe-tp-studentRow__avatarInner {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: block;
}

.oe-tp-studentRow__avatarInner--f {
  background: linear-gradient(180deg, #f9a8d4, #ec4899);
}

.oe-tp-studentRow__avatarInner--m {
  background: linear-gradient(180deg, #93c5fd, #2563eb);
}

.oe-tp-studentRow__name {
  font-weight: 600;
  font-size: 14px;
  color: var(--oe-tp-text);
}

.oe-tp-studentRow__num {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 600;
  color: var(--oe-tp-muted);
}

.oe-tp-classesPage__emptyClasses {
  margin-bottom: 12px;
}

.oe-tp-studentGridWrap {
  max-height: min(60vh, 520px);
  overflow-y: auto;
  overflow-x: hidden;
}

.oe-tp-studentSection__searchEmpty {
  margin: 8px 0 0 0;
  font-size: 13px;
  color: var(--oe-tp-muted);
  text-align: center;
}

.oe-tp-classCard__iconBtn--danger {
  color: #b91c1c;
}

.oe-tp-classModalRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 520px) {
  .oe-tp-classModalRow {
    grid-template-columns: 1fr;
  }
}

.oe-tp-modal__dialog--class .oe-tp-input--fluid {
  max-width: none;
  width: 100%;
}

.oe-tp-studentRow__edit {
  display: block;
  margin-top: 2px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 12px;
  font-weight: 600;
  color: var(--oe-tp-accent);
  cursor: pointer;
  text-align: left;
  text-decoration: none;
}

.oe-tp-studentRow__edit:hover {
  text-decoration: underline;
}

.oe-tp-studentRow__delForm {
  margin: 0;
}

.oe-tp-studentRow__del {
  appearance: none;
  border: 0;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 8px;
  width: 34px;
  height: 34px;
  cursor: pointer;
  font-size: 15px;
}

.oe-tp-studentRow__del:hover {
  background: #fee2e2;
}

.oe-tp-modal {
  position: fixed;
  inset: 0;
  z-index: 100200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.oe-tp-modal.is-open {
  display: flex;
}

.oe-tp-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
}

.oe-tp-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 440px;
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  padding: 22px 22px 18px 22px;
  box-shadow: var(--oe-tp-shadow);
}

.oe-tp-modal__title {
  margin: 0 0 16px 0;
  font-size: 20px;
}

.oe-tp-modal__close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #f3f4f6;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.oe-tp-modal__close:hover {
  background: #e5e7eb;
}

.oe-tp-modal__grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
}

@media (max-width: 520px) {
  .oe-tp-modal__grid2 {
    grid-template-columns: 1fr;
  }
}

.oe-tp-modal__actions {
  margin: 18px 0 0 0;
  display: flex;
  justify-content: flex-end;
}

.oe-tp-modal__hint {
  margin-top: 8px;
  font-size: 12px;
}

.oe-tp-genderPick {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 4px;
}

.oe-tp-genderPick__opt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  cursor: pointer;
}

.oe-tp-genderPick__ico {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-block;
}

.oe-tp-genderPick__ico--f {
  background: linear-gradient(180deg, #f9a8d4, #ec4899);
}

.oe-tp-genderPick__ico--m {
  background: linear-gradient(180deg, #93c5fd, #2563eb);
}

.oe-tp-classesPage .oe-tp-input--fluid {
  max-width: none;
  width: 100%;
  box-sizing: border-box;
}

/* --- Yarışma oluştur (modal + tam sayfa) --- */
.oe-tp-modal__dialog--quizCreate {
  max-width: min(720px, calc(100vw - 32px));
  width: calc(100% - 28px);
}

.oe-tp-modal__dialog--quizCreate .oe-tp-quizCreate {
  padding-top: 4px;
}

.oe-tp-quizCreate__title {
  margin: 0 0 14px 0;
  font-size: var(--oe-tp-font-subtitle);
  font-weight: 700;
  color: var(--oe-tp-text);
}

.oe-tp-quizCreate__field {
  margin-bottom: 16px;
}

.oe-tp-quizCreate__label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 14px;
}

.oe-tp-quizCreate__input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid var(--oe-tp-border);
  border-radius: 10px;
  font-size: 16px;
}

.oe-tp-quizCreate__band {
  background: linear-gradient(180deg, #2563eb, #1d4ed8);
  color: #fff;
  padding: 12px 16px;
  border-radius: 10px 10px 0 0;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
  margin-top: 6px;
}

.oe-tp-quizCreate__band--sub {
  border-radius: 10px;
  margin-top: 20px;
}

.oe-tp-quizCreate__panelBlock {
  margin: 0;
  padding: 14px 12px 12px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-top: 0;
  border-radius: 0 0 10px 10px;
}

.oe-tp-quizCreate__selectRow {
  margin-bottom: 12px;
}

.oe-tp-quizCreate__selectRow:last-of-type {
  margin-bottom: 0;
}

.oe-tp-quizCreate__select {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid var(--oe-tp-border);
  border-radius: 10px;
  font-size: 16px;
  background: #fff;
}

.oe-tp-quizCreate__hint {
  margin: 10px 0 0 0;
  font-size: 13px;
  color: var(--oe-tp-muted);
  line-height: 1.45;
}

.oe-tp-quizCreate__preview {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #fffbeb;
  border: 2px solid #fde68a;
  font-size: 14px;
  font-weight: 600;
  color: #44403c;
  min-height: 22px;
}

.oe-tp-quizCreate__choices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.oe-tp-quizCreate__choice {
  position: relative;
  flex: 1 1 88px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 14px 10px;
  background: #f9fafb;
  border: 3px solid #e5e7eb;
  border-radius: 12px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.oe-tp-quizCreate__choice:hover {
  border-color: #cbd5e1;
}

.oe-tp-quizCreate__choice:has(.oe-tp-quizCreate__choiceInput:checked) {
  border-color: #2563eb;
  background: #eff6ff;
}

.oe-tp-quizCreate__choiceInput {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.oe-tp-quizCreate__choiceNum {
  font-size: 22px;
  font-weight: 800;
  color: #0f172a;
}

.oe-tp-quizCreate__choiceLetters {
  font-size: 12px;
  color: #64748b;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  margin-top: 4px;
}

.oe-tp-quizCreate__submit {
  width: 100%;
  margin-top: 22px;
  padding: 14px 18px;
  border: 0;
  border-radius: 12px;
  background: var(--oe-tp-color-primary);
  color: #fff;
  font-size: var(--oe-tp-font-button);
  font-weight: 700;
  cursor: pointer;
}

.oe-tp-quizCreate__submit:hover {
  background: #1d4ed8;
}

.oe-tp-quizCreate--page {
  background: var(--oe-tp-card-bg);
  border-radius: 16px;
  box-shadow: var(--oe-tp-shadow);
  padding: clamp(22px, 3vw, 36px) clamp(20px, 3vw, 40px) clamp(26px, 3vw, 40px);
  max-width: min(720px, 100%);
  margin-top: 8px;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid var(--oe-tp-border);
}

.oe-tp-quizCreatePage__back {
  margin: 0 0 10px 0;
}

.oe-tp-debugJson {
  margin: 12px 0;
  padding: 12px;
  background: #0f172a;
  color: #e2e8f0;
  border-radius: 10px;
  overflow: auto;
  max-height: 70vh;
}

.oe-tp-debugJson__pre {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}

.oe-tp-debugJson__hint {
  font-size: 13px;
  margin-top: 8px;
}

.oe-tp-debugJson__hint code {
  font-size: 11px;
  word-break: break-all;
}

/* ——— Bilgi Yarışması (knowledge-quiz) ——— */
.oe-tp-knowledgeQuiz {
  max-width: none;
}

.oe-tp-kq__back {
  margin: 0 0 14px 0;
}

.oe-tp-kq__root {
  position: relative;
}

.oe-tp-kqSetup__card {
  max-width: min(720px, 100%);
  margin: 0 auto;
  padding: clamp(24px, 3vw, 36px) clamp(20px, 3vw, 32px);
  background: var(--oe-tp-card-bg);
  border: 1px solid var(--oe-tp-border);
  border-radius: 16px;
  box-shadow: var(--oe-tp-shadow);
}

.oe-tp-kqSetup__title {
  margin: 0 0 8px 0;
  font-size: var(--oe-tp-font-title);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--oe-tp-text);
}

.oe-tp-kqSetup__lead {
  margin: 0 0 22px 0;
  color: var(--oe-tp-muted);
  font-size: var(--oe-tp-font-body);
  line-height: 1.55;
}

.oe-tp-kqSetup__field {
  margin-bottom: 20px;
}

.oe-tp-kqSetup__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 560px) {
  .oe-tp-kqSetup__row {
    grid-template-columns: 1fr;
  }
}

.oe-tp-kqSetup__label {
  display: block;
  font-weight: 700;
  font-size: var(--oe-tp-font-body);
  margin-bottom: 6px;
}

.oe-tp-kqSetup__miniLabel {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--oe-tp-muted);
  margin-bottom: 4px;
}

.oe-tp-kqSetup__control {
  width: 100%;
  max-width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid var(--oe-tp-border);
  font-size: var(--oe-tp-font-body);
  background: #fff;
}

.oe-tp-kqSetup__control--lg {
  font-size: 1rem;
  padding: 14px 16px;
}

.oe-tp-kqSetup__readonly {
  margin: 0;
  padding: 12px 14px;
  background: #f1f5f9;
  border-radius: 10px;
  font-size: var(--oe-tp-font-body);
  font-weight: 600;
}

.oe-tp-kqSetup__hint {
  margin: 8px 0 0 0;
  font-size: 0.8125rem;
  color: #b45309;
}

.oe-tp-kqSetup__hint--muted {
  color: var(--oe-tp-muted);
  font-weight: 500;
}

.oe-tp-kqSetup__groupNames {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.oe-tp-kqSetup__groupRow {
  display: flex;
  flex-direction: column;
}

.oe-tp-kqSetup__actions {
  margin-top: 8px;
}

.oe-tp-kqSetup__start {
  width: 100%;
  justify-content: center;
  padding: 14px 18px;
  font-size: var(--oe-tp-font-button);
  font-weight: 700;
  min-height: 48px;
}

/* Bilgi Yarışması oyun ekranı (açık tema) — knowledge-quiz-screen.css */

/*
 * Public landing (body.oe-public-page): tema header/footer ve dar container.
 * Öğretmen paneli: body.oe-tp-shell-active — bu kurallar uygulanmaz.
 */
body.oe-public-page:not(.oe-tp-shell-active) {
  overflow-x: clip;
  --oe-pub-frame-pad: clamp(12px, 2vw, 32px);
  --oe-pub-header-pad: clamp(16px, 2vw, 32px);
}

body.oe-public-page:not(.oe-tp-shell-active) #masthead,
body.oe-public-page:not(.oe-tp-shell-active) #site-header,
body.oe-public-page:not(.oe-tp-shell-active) .site-header,
body.oe-public-page:not(.oe-tp-shell-active) .site-header-wrap,
body.oe-public-page:not(.oe-tp-shell-active) .ast-primary-header-bar,
body.oe-public-page:not(.oe-tp-shell-active) .ast-above-header-wrap,
body.oe-public-page:not(.oe-tp-shell-active) .ast-below-header-wrap,
body.oe-public-page:not(.oe-tp-shell-active) .ast-mobile-header-wrap,
body.oe-public-page:not(.oe-tp-shell-active) .ast-desktop-header,
body.oe-public-page:not(.oe-tp-shell-active) .ast-main-header-wrap,
body.oe-public-page:not(.oe-tp-shell-active) .ast-custom-header,
body.oe-public-page:not(.oe-tp-shell-active) .main-header-bar,
body.oe-public-page:not(.oe-tp-shell-active) .elementor-location-header,
body.oe-public-page:not(.oe-tp-shell-active) #ld-header,
body.oe-public-page:not(.oe-tp-shell-active) .ld-header,
body.oe-public-page:not(.oe-tp-shell-active) .ld-focus-header,
body.oe-public-page:not(.oe-tp-shell-active) .ld-navbar,
body.oe-public-page:not(.oe-tp-shell-active) .ld-tabs-navigation,
body.oe-public-page:not(.oe-tp-shell-active) .ld-course-navigation-heading,
body.oe-public-page:not(.oe-tp-shell-active) #colophon,
body.oe-public-page:not(.oe-tp-shell-active) .site-footer,
body.oe-public-page:not(.oe-tp-shell-active) .footer-adv,
body.oe-public-page:not(.oe-tp-shell-active) .footer-adv-wrap,
body.oe-public-page:not(.oe-tp-shell-active) .ast-small-footer,
body.oe-public-page:not(.oe-tp-shell-active) .ast-footer-overlay,
body.oe-public-page:not(.oe-tp-shell-active) .elementor-location-footer,
body.oe-public-page:not(.oe-tp-shell-active)
  .wp-site-blocks > .wp-block-template-part[data-type="core/template-part"][data-part="footer"],
body.oe-public-page:not(.oe-tp-shell-active) .wp-site-blocks > footer {
  display: none !important;
}

/* Tema: özel işaretli footer görünsün (eklenti public-footer yokken; yalnız site kökündeki tema footer’ı) */
body.oe-public-page:not(.oe-tp-shell-active):not(.oe-tp-has-public-chrome-footer) .wp-site-blocks > footer.oe-footer {
  display: block !important;
}

body.oe-public-page.oe-tp-has-public-chrome-footer:not(.oe-tp-shell-active) .wp-site-blocks > footer.oe-footer {
  display: none !important;
}

/* Eklenti public-footer (the_content ile eklenen) */
body.oe-public-page:not(.oe-tp-shell-active) footer.oe-public-footer {
  display: block !important;
}

/* Eklenti footer varken tema site-footer’ını gizle (:has; içerikteki <footer> kartlarına dokunma) */
@supports selector(:has(*)) {
  body.oe-public-page:not(.oe-tp-shell-active):has(footer.oe-public-footer) .wp-site-blocks > footer:not(.oe-public-footer),
  body.oe-public-page:not(.oe-tp-shell-active):has(footer.oe-public-footer)
    .wp-site-blocks > .wp-block-template-part[data-type="core/template-part"][data-part="footer"] {
    display: none !important;
  }
}

body.oe-public-page:not(.oe-tp-shell-active) #page,
body.oe-public-page:not(.oe-tp-shell-active) .site,
body.oe-public-page:not(.oe-tp-shell-active) .site-content,
body.oe-public-page:not(.oe-tp-shell-active) .site-content .ast-container,
body.oe-public-page:not(.oe-tp-shell-active) #content,
body.oe-public-page:not(.oe-tp-shell-active) .content-area,
body.oe-public-page:not(.oe-tp-shell-active) #primary,
body.oe-public-page:not(.oe-tp-shell-active) .ast-container,
body.oe-public-page:not(.oe-tp-shell-active) .ast-separate-container,
body.oe-public-page:not(.oe-tp-shell-active) .ast-plain-container,
body.oe-public-page:not(.oe-tp-shell-active) .ast-page-builder-template .site-content > .ast-container,
body.oe-public-page:not(.oe-tp-shell-active) .container,
body.oe-public-page:not(.oe-tp-shell-active) .wrap,
body.oe-public-page:not(.oe-tp-shell-active) .wp-site-blocks {
  max-width: none !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.oe-public-page:not(.oe-tp-shell-active) .ast-separate-container .ast-article-single,
body.oe-public-page:not(.oe-tp-shell-active) .ast-separate-container .ast-article-inner,
body.oe-public-page:not(.oe-tp-shell-active) .entry-content,
body.oe-public-page:not(.oe-tp-shell-active) .entry-header,
body.oe-public-page:not(.oe-tp-shell-active) .page-header,
body.oe-public-page:not(.oe-tp-shell-active) .ast-single-entry-banner,
body.oe-public-page:not(.oe-tp-shell-active) .ast-archive-description {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.oe-public-page:not(.oe-tp-shell-active) .entry-header,
body.oe-public-page:not(.oe-tp-shell-active) .page-header,
body.oe-public-page:not(.oe-tp-shell-active) .ast-single-entry-banner,
body.oe-public-page:not(.oe-tp-shell-active) .ast-archive-description {
  display: none !important;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-app {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-main {
  flex: 1 1 auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Public: üst/yan tema boşlukları + ortak shell (header / reklam / hero / içerik hizası) */
body.oe-public-page:not(.oe-tp-shell-active) #page,
body.oe-public-page:not(.oe-tp-shell-active) .site {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.oe-public-page:not(.oe-tp-shell-active) article,
body.oe-public-page:not(.oe-tp-shell-active) article.type-page,
body.oe-public-page:not(.oe-tp-shell-active) .ast-article-single,
body.oe-public-page:not(.oe-tp-shell-active) .ast-plain-container .ast-article-single,
body.oe-public-page:not(.oe-tp-shell-active) #primary,
body.oe-public-page:not(.oe-tp-shell-active) .content-primary,
body.oe-public-page:not(.oe-tp-shell-active) .content-area,
body.oe-public-page:not(.oe-tp-shell-active) .entry-content,
body.oe-public-page:not(.oe-tp-shell-active) .wp-block-post-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.oe-public-page:not(.oe-tp-shell-active) .entry-content,
body.oe-public-page:not(.oe-tp-shell-active) .wp-block-post-content {
  padding-bottom: 0 !important;
}

body.oe-public-page:not(.oe-tp-shell-active) .ast-separate-container .ast-article-single,
body.oe-public-page:not(.oe-tp-shell-active) .ast-separate-container .ast-article-inner {
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.oe-public-page:not(.oe-tp-shell-active) .entry-content > .oe-public-app:first-child {
  margin-top: 0 !important;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-shell {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: var(--oe-pub-frame-pad);
  padding-right: var(--oe-pub-frame-pad);
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame__main > .oe-public-shell {
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-shell--intro {
  padding-top: clamp(8px, 1.2vw, 20px);
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-tp-pubHeader__inner {
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding: 10px var(--oe-pub-header-pad);
  box-sizing: border-box;
}

/* Public app: tam genişlik + güvenli yatay padding (home / auth / öğrenci) */
body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: var(--oe-pub-frame-pad);
  padding-right: var(--oe-pub-frame-pad);
}

@media (min-width: 1440px) {
  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home {
    display: grid;
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr) minmax(140px, 220px);
    gap: clamp(16px, 1.6vw, 28px);
    align-items: start;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home.oe-public-pageFrame--rails-none {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home.oe-public-pageFrame--rails-no-left {
    grid-template-columns: minmax(0, 1fr) minmax(140px, 220px);
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home.oe-public-pageFrame--rails-no-right {
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home:has(.oe-public-pageFrame__heroBand) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(16px, 1.6vw, 28px);
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home:has(.oe-public-pageFrame__heroBand) .oe-public-pageFrame__heroBand {
    display: grid;
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr) minmax(140px, 220px);
    gap: clamp(16px, 1.6vw, 28px);
    align-items: stretch;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth {
    display: grid;
    grid-template-columns: minmax(130px, 200px) minmax(0, 1fr) minmax(160px, 220px);
    gap: clamp(16px, 1.6vw, 28px);
    align-items: start;
  }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 150px;
    gap: clamp(14px, 1.5vw, 22px);
    align-items: start;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home.oe-public-pageFrame--rails-none {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home.oe-public-pageFrame--rails-no-left {
    grid-template-columns: minmax(0, 1fr) 150px;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home.oe-public-pageFrame--rails-no-right {
    grid-template-columns: 150px minmax(0, 1fr);
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home:has(.oe-public-pageFrame__heroBand) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(14px, 1.5vw, 22px);
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home:has(.oe-public-pageFrame__heroBand) .oe-public-pageFrame__heroBand {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 150px;
    gap: clamp(14px, 1.5vw, 22px);
    align-items: stretch;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr) minmax(160px, 200px);
    gap: clamp(14px, 1.5vw, 22px);
    align-items: start;
  }
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame__main {
  min-width: 0;
  width: 100%;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-side-ad {
  min-width: 0;
}

@media (min-width: 1200px) {
  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home .oe-public-side-ad,
  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-public-side-ad {
    position: sticky;
    top: clamp(56px, 7vw, 76px);
    align-self: start;
  }

  body.admin-bar.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home .oe-public-side-ad,
  body.admin-bar.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-public-side-ad {
    top: clamp(88px, 10vw, 108px);
  }
}

@media (max-width: 1199px) {
  body.oe-public-page:not(.oe-tp-shell-active) {
    --oe-pub-frame-pad: clamp(14px, 3.5vw, 16px);
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home .oe-public-side-ad {
    display: none !important;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth {
    display: flex;
    flex-direction: column;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-public-side-ad--left {
    display: none !important;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-public-pageFrame__main {
    order: 1;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-public-side-ad--right {
    order: 2;
    display: block !important;
    position: static;
    width: 100%;
    max-width: min(420px, 100%);
    margin: 0 auto 32px;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-public-side-ad--right .oe-tp-adSlot--rail {
    min-height: 200px;
    max-height: none;
  }
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-side-ad .oe-tp-adSlot--rail {
  width: 100%;
  max-width: 100%;
  min-height: 420px;
  max-height: 72vh;
  margin: 0;
  padding: 14px 10px;
  box-sizing: border-box;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-side-ad .oe-ad-slot--image:not(.oe-ad-slot--placeholder) {
  padding: 0;
  display: block;
  height: 100%;
  min-height: 420px;
  max-height: 72vh;
  box-sizing: border-box;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-side-ad .oe-ad-slot--image:not(.oe-ad-slot--placeholder) .oe-ad-slot__media,
body.oe-public-page:not(.oe-tp-shell-active) .oe-public-side-ad .oe-ad-slot--image:not(.oe-ad-slot--placeholder) .oe-ad-slot__link.oe-ad-slot__media {
  min-height: 420px;
  height: 100%;
  max-height: 72vh;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-shell--intro .oe-tp-adSlot--banner {
  width: 100%;
  max-width: none;
  min-height: 90px;
  max-height: 110px;
  padding: 10px 14px;
  margin: 0 0 8px;
  box-sizing: border-box;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-shell--intro .oe-tp-hero {
  padding: 32px 0 48px;
  margin: 0;
}

/* Ana sayfa hero: design/newdesign.json gradients.blue_card + shadows.card */
body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home .oe-public-shell--intro .oe-tp-hero {
  padding: clamp(24px, 3.5vw, 44px) clamp(12px, 2vw, 24px) clamp(36px, 4vw, 52px);
  border-radius: 28px;
  background: linear-gradient(135deg, #e5f7ff 0%, #cdebff 100%);
  border: 1px solid rgba(215, 228, 236, 0.8);
  box-shadow: 0 12px 30px rgba(15, 54, 82, 0.08);
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-shell--intro .oe-tp-hero__inner {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-shell--intro .oe-tp-hero__grid {
  gap: clamp(20px, 3vw, 40px);
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home .oe-public-shell--intro .oe-tp-hero__grid {
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(24px, 3vw, 48px);
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-shell--intro .oe-tp-hero__title {
  font-size: clamp(1.85rem, 3.8vw, 2.85rem);
}

/* Geniş orta sütunda metin satırı aşırı uzamasın */
body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home .oe-tp-hero__copy {
  max-width: min(52rem, 100%);
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-tp-homeLayout.oe-public-shell--body.oe-tp-homeLayout--solo {
  display: block;
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0 0 48px;
  box-sizing: border-box;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-tp-homeLayout--solo .oe-tp-homeLayout__main {
  width: 100%;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-tp-homeLayout--solo .oe-tp-adSlot--inline {
  margin-top: 16px;
  margin-bottom: 16px;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-public-shell > .oe-tp-authPage--framed {
  display: block;
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 16px 0 48px;
  box-sizing: border-box;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-tp-authPage--framed:not(.oe-tp-authPage--register) .oe-tp-authPage__card {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-tp-authPage--register.oe-tp-authPage--framed {
  padding-bottom: 56px;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--auth .oe-tp-authPage--register .oe-tp-authPage__card--wide {
  max-width: min(920px, 100%);
  margin-left: auto;
  margin-right: auto;
}

body.oe-public-page:not(.oe-tp-shell-active) .oe-public-shell > .oe-tp-studentSoon {
  max-width: min(720px, 100%);
  margin: 0 auto;
  padding: 24px 0 48px;
}

body.admin-bar.oe-public-page:not(.oe-tp-shell-active) .oe-public-header.oe-tp-pubHeader {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar.oe-public-page:not(.oe-tp-shell-active) .oe-public-header.oe-tp-pubHeader {
    top: 46px;
  }
}

/* --- Ziyaretçi ana sayfa / giriş / kayıt (public) --- */
.oe-tp-public {
  --oe-tp-pub-accent: #0ea5e9;
  --oe-tp-pub-accent2: #2563eb;
  --oe-tp-pub-bg: linear-gradient(180deg, #ecfeff 0%, #f0f9ff 35%, #f8fafc 100%);
  background: var(--oe-tp-pub-bg);
  color: var(--oe-tp-text);
  min-height: 100vh;
}

/* Ana sayfa: design/newdesign.json — colors.background.page */
.oe-tp-public.oe-tp-public--home {
  --oe-tp-pub-bg: #f3f8fc;
  background: #f3f8fc;
}

.oe-tp-pubHeader {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--oe-tp-border);
}

.oe-tp-pubHeader__inner {
  position: relative;
  max-width: 1210px;
  margin: 0 auto;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.oe-tp-pubBrand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--oe-tp-text);
  font-weight: 800;
  font-size: 1.1rem;
}

.oe-tp-pubBrand__mark {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--oe-tp-pub-accent), var(--oe-tp-pub-accent2));
  box-shadow: 0 4px 14px rgba(14, 165, 233, 0.35);
}

.oe-tp-pubBrand--logo {
  gap: 0;
  line-height: 0;
}

.oe-tp-pubBrand__img {
  display: block;
  height: clamp(46px, 7.5vw, 62px);
  width: auto;
  max-width: min(340px, 78vw);
  object-fit: contain;
}

.oe-tp-pubNav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}

.oe-tp-pubNav__toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--oe-tp-border);
  background: #fff;
  cursor: pointer;
}

.oe-tp-pubNav__toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: #0f172a;
  border-radius: 2px;
}

.oe-tp-pubNav__link {
  color: var(--oe-tp-muted);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 6px 4px;
}

.oe-tp-pubNav__link:hover {
  color: var(--oe-tp-pub-accent2);
}

.oe-tp-pubNav__sep {
  width: 1px;
  height: 18px;
  background: var(--oe-tp-border);
  margin: 0 4px;
}

.oe-tp-pubNav__cta {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  background: linear-gradient(90deg, var(--oe-tp-pub-accent), var(--oe-tp-pub-accent2));
  color: #fff;
  border: none;
  box-shadow: 0 4px 16px rgba(37, 99, 235, 0.25);
}

.oe-tp-pubNav__cta--ghost {
  background: #fff;
  color: var(--oe-tp-pub-accent2);
  border: 1px solid rgba(37, 99, 235, 0.35);
  box-shadow: none;
}

.oe-tp-pubNav__link--logout {
  color: #b91c1c !important;
  font-weight: 800;
}

.oe-tp-pubNav__link--logout:hover {
  color: #991b1b !important;
}

.oe-tp-adSlot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 6px;
  padding: 18px 14px;
  border-radius: 16px;
  border: 2px dashed rgba(14, 165, 233, 0.35);
  background: rgba(255, 255, 255, 0.75);
  color: var(--oe-tp-muted);
  margin: 16px auto;
  max-width: 1100px;
}

.oe-tp-adSlot--banner {
  max-width: 1200px;
}

.oe-tp-adSlot--inline {
  margin: 24px auto;
}

.oe-tp-adSlot--sky {
  min-height: 260px;
  margin: 0;
}

.oe-tp-adSlot--aside {
  min-height: 280px;
  margin: 0;
}

.oe-tp-adSlot--rail {
  margin-left: auto;
  margin-right: auto;
}

.oe-tp-adSlot__label {
  font-weight: 800;
  color: #0f172a;
  font-size: 0.95rem;
}

.oe-tp-adSlot__sub {
  font-size: 0.85rem;
}

.oe-tp-hero {
  padding: clamp(28px, 5vw, 56px) 18px 20px;
}

.oe-tp-hero__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.oe-tp-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 28px;
  align-items: center;
}

.oe-tp-hero__title {
  margin: 0 0 14px 0;
  font-size: clamp(1.75rem, 3.5vw, 2.65rem);
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #0f172a;
}

.oe-tp-hero__lead {
  margin: 0 0 22px 0;
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  color: var(--oe-tp-muted);
  line-height: 1.55;
  max-width: 34rem;
}

.oe-tp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.oe-tp-hero__art {
  position: relative;
  min-height: 220px;
}

/* Hero sağ sütun: quiz dashboard illüstrasyonu (public-home, HTML/CSS) */
.oe-tp-hero__art--quiz {
  overflow: visible;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.oe-tp-hero__art--quiz .oe-hero-visual {
  position: relative;
  width: 100%;
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}

.oe-tp-hero__art--quiz .oe-hero-visual::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 260px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(104, 199, 255, 0.65), rgba(130, 156, 255, 0.45));
  filter: blur(1px);
  transform: rotate(-4deg);
  z-index: -2;
}

.oe-tp-hero__art--quiz .oe-hero-visual::after {
  content: "";
  position: absolute;
  width: 620px;
  height: 360px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0));
  z-index: -3;
}

.oe-tp-hero__art--quiz .oe-quiz-board {
  width: min(520px, 92%);
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(237, 246, 255, 0.82));
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow:
    0 28px 70px rgba(61, 117, 210, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transform: rotate(5deg);
}

.oe-tp-hero__art--quiz .oe-quiz-topbar {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.oe-tp-hero__art--quiz .oe-score-pill,
.oe-tp-hero__art--quiz .oe-time-pill {
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  color: #17213b;
  font-weight: 800;
  font-size: 14px;
  box-shadow: 0 12px 26px rgba(70, 112, 186, 0.15);
  white-space: nowrap;
}

.oe-tp-hero__art--quiz .oe-progress-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6b7894;
  font-size: 14px;
}

.oe-tp-hero__art--quiz .oe-progress-line {
  flex: 1;
  height: 8px;
  border-radius: 999px;
  background: #dbe7ff;
  overflow: hidden;
}

.oe-tp-hero__art--quiz .oe-progress-line span {
  display: block;
  width: 58%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #5068ff, #7d5cff);
}

.oe-tp-hero__art--quiz .oe-quiz-content {
  display: grid;
  grid-template-columns: 1fr 150px;
  gap: 18px;
}

.oe-tp-hero__art--quiz .oe-question-card,
.oe-tp-hero__art--quiz .oe-stats-card,
.oe-tp-hero__art--quiz .oe-task-card,
.oe-tp-hero__art--quiz .oe-streak-card,
.oe-tp-hero__art--quiz .oe-floating-card {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(210, 225, 255, 0.9);
  box-shadow: 0 18px 40px rgba(68, 103, 176, 0.16);
  backdrop-filter: blur(12px);
}

.oe-tp-hero__art--quiz .oe-question-card {
  padding: 22px;
  border-radius: 24px;
}

.oe-tp-hero__art--quiz .oe-question-card h3 {
  margin: 0 0 18px;
  font-size: 17px;
  line-height: 1.45;
  color: #17213b;
  font-weight: 800;
}

.oe-tp-hero__art--quiz .oe-answers-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.oe-tp-hero__art--quiz .oe-answer {
  min-height: 50px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #f7faff;
  border: 1px solid #dce8ff;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #24314f;
  font-weight: 700;
  font-size: 14px;
}

.oe-tp-hero__art--quiz .oe-answer span {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #e5efff;
  display: grid;
  place-items: center;
  color: #617291;
  font-weight: 900;
}

.oe-tp-hero__art--quiz .oe-answer.correct {
  background: linear-gradient(135deg, #dcfff0, #effff8);
  border-color: #8ee7bf;
  color: #168159;
}

.oe-tp-hero__art--quiz .oe-answer.correct span {
  background: #bff5dc;
  color: #168159;
}

.oe-tp-hero__art--quiz .oe-answer.correct b {
  margin-left: auto;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #35c58a;
  color: white;
  display: grid;
  place-items: center;
}

.oe-tp-hero__art--quiz .oe-stats-card {
  border-radius: 24px;
  padding: 18px;
}

.oe-tp-hero__art--quiz .oe-mini-chart {
  height: 52px;
  border-radius: 14px;
  background:
    linear-gradient(135deg, transparent 50%, rgba(77, 139, 255, 0.18) 50%),
    linear-gradient(135deg, #60a5ff, #7a6dff);
  clip-path: polygon(0 70%, 18% 55%, 35% 62%, 52% 38%, 70% 48%, 100% 20%, 100% 100%, 0 100%);
  opacity: 0.85;
  margin-bottom: 14px;
}

.oe-tp-hero__art--quiz .oe-stats-card p,
.oe-tp-hero__art--quiz .oe-task-card p,
.oe-tp-hero__art--quiz .oe-streak-card p {
  margin: 0;
  color: #6c7893;
  font-size: 13px;
  font-weight: 600;
}

.oe-tp-hero__art--quiz .oe-stats-card h4,
.oe-tp-hero__art--quiz .oe-streak-card h4 {
  margin: 2px 0 14px;
  color: #17213b;
  font-size: 30px;
  line-height: 1;
}

.oe-tp-hero__art--quiz .oe-level-badge {
  display: inline-flex;
  padding: 10px 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, #8b5cf6, #6366f1);
  color: white;
  font-weight: 800;
  font-size: 13px;
  margin-bottom: 18px;
}

.oe-tp-hero__art--quiz .oe-result-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.oe-tp-hero__art--quiz .oe-result-row small {
  display: block;
  color: #7a879f;
  font-weight: 700;
}

.oe-tp-hero__art--quiz .oe-result-row strong {
  font-size: 26px;
  line-height: 1;
}

.oe-tp-hero__art--quiz .oe-hero-visual strong.green {
  color: #20b978;
}

.oe-tp-hero__art--quiz .oe-hero-visual strong.red {
  color: #ef5350;
}

.oe-tp-hero__art--quiz .oe-floating-card {
  position: absolute;
  width: 86px;
  height: 86px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  font-size: 36px;
  z-index: 3;
}

.oe-tp-hero__art--quiz .gamepad-card {
  top: 50px;
  left: 70px;
  transform: rotate(8deg);
}

.oe-tp-hero__art--quiz .trophy-card {
  top: 165px;
  left: 40px;
  transform: rotate(-8deg);
}

.oe-tp-hero__art--quiz .chart-card {
  bottom: 105px;
  left: 82px;
  background: linear-gradient(135deg, #679bff, #4665f6);
}

.oe-tp-hero__art--quiz .oe-task-card {
  position: absolute;
  left: 110px;
  bottom: 22px;
  width: 360px;
  max-width: calc(100% - 24px);
  padding: 18px 20px;
  border-radius: 22px;
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 14px;
  align-items: center;
  z-index: 4;
}

.oe-tp-hero__art--quiz .target-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #eaf2ff;
  display: grid;
  place-items: center;
  font-size: 28px;
}

.oe-tp-hero__art--quiz .task-progress {
  width: 100%;
  height: 8px;
  background: #dce8ff;
  border-radius: 999px;
  margin-top: 10px;
  overflow: hidden;
}

.oe-tp-hero__art--quiz .task-progress span {
  display: block;
  width: 66%;
  height: 100%;
  background: linear-gradient(90deg, #4d9cff, #6567ff);
  border-radius: inherit;
}

.oe-tp-hero__art--quiz .oe-task-card strong {
  color: #17213b;
  font-size: 16px;
}

.oe-tp-hero__art--quiz .oe-task-card b {
  color: #6b7894;
}

.oe-tp-hero__art--quiz .oe-streak-card {
  position: absolute;
  right: 34px;
  bottom: 4px;
  width: 220px;
  max-width: calc(100% - 48px);
  padding: 20px;
  border-radius: 22px;
  display: flex;
  gap: 14px;
  align-items: center;
  z-index: 4;
}

.oe-tp-hero__art--quiz .oe-streak-card > span:first-child {
  font-size: 36px;
}

.oe-tp-hero__art--quiz .oe-streak-card strong {
  color: #17213b;
}

.oe-tp-hero__art--quiz .oe-orbit-line {
  position: absolute;
  border: 2px dashed rgba(116, 145, 255, 0.22);
  border-radius: 50%;
  z-index: -1;
}

.oe-tp-hero__art--quiz .orbit-one {
  width: 620px;
  height: 240px;
  transform: rotate(12deg);
}

.oe-tp-hero__art--quiz .orbit-two {
  width: 540px;
  height: 220px;
  transform: rotate(-18deg);
}

@media (max-width: 1024px) {
  .oe-tp-hero__art--quiz .oe-hero-visual {
    min-height: 360px;
    transform: scale(0.86);
  }
}

@media (max-width: 768px) {
  .oe-tp-hero__art--quiz {
    display: none;
  }
}

.oe-tp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.oe-tp-btn:hover {
  transform: translateY(-1px);
}

.oe-tp-btn--primary {
  background: linear-gradient(90deg, var(--oe-tp-pub-accent), var(--oe-tp-pub-accent2));
  color: #fff;
  box-shadow: 0 6px 20px rgba(37, 99, 235, 0.28);
}

.oe-tp-btn--ghost {
  background: #fff;
  color: var(--oe-tp-pub-accent2);
  border: 1px solid rgba(37, 99, 235, 0.35);
}

.oe-tp-btn--soft {
  background: rgba(14, 165, 233, 0.12);
  color: #0369a1;
}

.oe-tp-btn--block {
  width: 100%;
  margin-top: 8px;
}

.oe-tp-homeLayout {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 18px 48px;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) 160px;
  gap: 20px;
  align-items: start;
}

.oe-tp-homeLayout__rail {
  position: sticky;
  top: 72px;
}

.oe-tp-homeLayout__main {
  min-width: 0;
}

.oe-tp-sec {
  margin: 36px 0;
  padding: 28px 24px;
  background: #fff;
  border-radius: 20px;
  border: 1px solid var(--oe-tp-border);
  box-shadow: var(--oe-tp-shadow);
}

.oe-tp-sec__title {
  margin: 0 0 12px 0;
  font-size: 1.45rem;
  font-weight: 800;
}

.oe-tp-sec__text {
  margin: 0 0 10px 0;
  color: var(--oe-tp-muted);
  line-height: 1.6;
  max-width: 52rem;
}

.oe-tp-sec__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.oe-tp-sec--alt {
  background: linear-gradient(135deg, #fff, #f0f9ff);
}

.oe-tp-sec--ctaBand {
  background: linear-gradient(90deg, #0ea5e9, #2563eb);
  color: #fff;
  border: none;
}

.oe-tp-sec--ctaBand .oe-tp-sec__title {
  color: #fff;
}

.oe-tp-sec--ctaBand .oe-tp-btn--primary {
  background: #fff;
  color: #1d4ed8;
  box-shadow: none;
}

.oe-tp-sec--ctaBand .oe-tp-btn--soft {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.45);
}

.oe-tp-sec--ctaBand .oe-tp-btn--ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.55);
}

/*
 * Ana sayfa bölüm kartları: design/newdesign.json
 * Ortak: radius.card_default, borders.card, shadows.card — arka planlar gradyan / düz kart tonları (farklı renkler).
 */
body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-homeLayout--solo .oe-tp-sec:not(.oe-tp-sec--ctaBand) {
  border-radius: 28px;
  border: 1px solid rgba(215, 228, 236, 0.8);
  box-shadow: 0 12px 30px rgba(15, 54, 82, 0.08);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-sec--gamesVitrin {
  background: linear-gradient(135deg, #ececff 0%, #dadafe 100%);
}

/* newdesign.json components.stat_card.variants: completed → öğretmen, lessons → öğrenci, hours → reklamveren */
body.oe-public-home-page:not(.oe-tp-shell-active) #ogretmenler.oe-tp-sec {
  background: linear-gradient(135deg, #e5f7ff 0%, #cdebff 100%);
}

body.oe-public-home-page:not(.oe-tp-shell-active) #ogrenciler.oe-tp-sec {
  background: linear-gradient(135deg, #ececff 0%, #dadafe 100%);
}

body.oe-public-home-page:not(.oe-tp-shell-active) #yayincilar.oe-tp-sec {
  background: linear-gradient(135deg, #ffe3f6 0%, #f8c9ef 100%);
}

body.oe-public-home-page:not(.oe-tp-shell-active) #iletisim.oe-tp-sec {
  background: #d7eef8;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-sec--ctaBand {
  border-radius: 28px;
  background: linear-gradient(90deg, #0b6e8f 0%, #35b7e8 100%);
  border: none;
  box-shadow: 0 12px 30px rgba(15, 54, 82, 0.1);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-sec--ctaBand .oe-tp-btn--primary {
  color: #0b6e8f;
}

/* Ana sayfa: newdesign benzeri yuvarlak kategori ikonları + başlık satırı */
body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-secHead {
  display: flex;
  align-items: flex-start;
  gap: clamp(14px, 2vw, 20px);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-secHead__main {
  flex: 1;
  min-width: 0;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-secHead__main > .oe-tp-sec__title:first-child,
body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-secHead__main > .oe-tp-gamesVitrin__title {
  margin-top: 0;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gamesVitrin__head .oe-tp-secHead {
  justify-content: center;
  text-align: center;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gamesVitrin__head .oe-tp-secHead__main {
  display: flex;
  flex-direction: column;
  align-items: center;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-secIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  box-shadow: 0 4px 14px rgba(15, 54, 82, 0.08);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-secIcon__svg {
  display: block;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-secHead--ctaBand .oe-tp-secIcon {
  background: rgba(255, 255, 255, 0.95);
  color: #0b6e8f;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-sec--ctaBand .oe-tp-sec__title {
  color: #fff;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-hero__head {
  display: flex;
  align-items: flex-start;
  gap: clamp(14px, 2vw, 20px);
  margin-bottom: 6px;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-hero__headMain {
  flex: 1;
  min-width: 0;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile__icon {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #0b6e8f;
  box-shadow: 0 2px 10px rgba(15, 54, 82, 0.12);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile__iconSvg {
  display: block;
}

.oe-tp-featureGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 8px;
}

.oe-tp-card {
  padding: 18px 16px;
  border-radius: 16px;
  border: 1px solid var(--oe-tp-border);
  background: #f8fafc;
}

.oe-tp-card__t {
  margin: 0 0 8px 0;
  font-size: 1.05rem;
  font-weight: 800;
}

.oe-tp-card__p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--oe-tp-muted);
  line-height: 1.5;
}

/* Özel oyun vitrini (#ozellikler) — arka plan yalnızca ana sayfada newdesign ile verilir */
.oe-tp-sec--gamesVitrin {
  overflow-x: hidden;
}

.oe-tp-gamesVitrin__head {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto 22px;
}

.oe-tp-gamesVitrin__title {
  font-size: clamp(1.35rem, 2.6vw, 1.75rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  background: linear-gradient(115deg, #0f172a 0%, #1d4ed8 45%, #7c3aed 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.oe-tp-gamesVitrin__lead {
  margin: 0;
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  line-height: 1.55;
  color: var(--oe-tp-muted);
}

/* Eşit kartlı oyun vitrini (4×2; design/design.json colors.cards + shadows.card) */
.oe-tp-gamesGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  margin-top: 8px;
  min-width: 0;
}

.oe-tp-gameTile {
  display: block;
  min-width: 0;
  padding: clamp(10px, 1.4vw, 16px);
  border-radius: 24px;
  text-decoration: none;
  color: inherit;
  cursor: default;
  border: 1px solid #e7ded6;
  box-shadow: 0 14px 34px rgba(30, 20, 10, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.oe-tp-gameTile:hover,
.oe-tp-gameTile:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 18px 46px rgba(30, 20, 10, 0.08);
}

.oe-tp-gameTile--tone0 {
  background: #f5c2c8;
}

.oe-tp-gameTile--tone1 {
  background: #faddb7;
}

.oe-tp-gameTile--tone2 {
  background: #ef8896;
}

.oe-tp-gameTile--tone3 {
  background: #ffb36b;
}

.oe-tp-gameTile--tone4 {
  background: #d1ccff;
}

.oe-tp-gameTile--tone5 {
  background: #b8f0d9;
}

.oe-tp-gameTile--tone6 {
  background: #f7e7d0;
}

.oe-tp-gameTile--tone7 {
  background: #f3b5be;
}

/* Ana sayfa oyun kutuları: design/newdesign.json — farklı kart gradyanları / düz tonlar */
body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile {
  border-radius: 28px;
  border: 1px solid rgba(230, 238, 244, 0.9);
  box-shadow: 0 12px 30px rgba(15, 54, 82, 0.08);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile:hover,
body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile:focus-within {
  box-shadow: 0 18px 42px rgba(15, 54, 82, 0.12);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile--tone0 {
  background: linear-gradient(135deg, #e5f7ff 0%, #cdebff 100%);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile--tone1 {
  background: linear-gradient(135deg, #ececff 0%, #dadafe 100%);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile--tone2 {
  background: linear-gradient(135deg, #ffe3f6 0%, #f8c9ef 100%);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile--tone3 {
  background: linear-gradient(135deg, #fff8d8 0%, #ffefa8 100%);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile--tone4 {
  background: linear-gradient(135deg, #ecffd9 0%, #b9ee8e 100%);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile--tone5 {
  background: linear-gradient(135deg, #ffe4ad 0%, #ffc04d 100%);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile--tone6 {
  background: #d7eef8;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile--tone7 {
  background: #ffb4b8;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile__thumb {
  background: #f7fbfd;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-tp-gameTile__surface {
  position: relative;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.oe-tp-gameTile__surface {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.oe-tp-gameTile__thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  flex-shrink: 0;
  overflow: hidden;
  background: #efe8e1;
}

.oe-tp-gameTile__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.28s ease;
}

.oe-tp-gameTile:hover .oe-tp-gameTile__img,
.oe-tp-gameTile:focus-within .oe-tp-gameTile__img {
  transform: scale(1.03);
}

.oe-tp-gameTile__meta {
  flex-shrink: 0;
  padding: 12px 12px 14px;
  min-height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-top: 1px solid rgba(226, 232, 240, 0.95);
}

.oe-tp-gameTile__title {
  margin: 0;
  font-size: clamp(0.88rem, 1.15vw, 0.98rem);
  font-weight: 800;
  line-height: 1.3;
  color: #1e293b;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 900px) {
  .oe-tp-gamesGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 2.4vw, 18px);
  }
}

@media (max-width: 420px) {
  .oe-tp-gamesGrid {
    grid-template-columns: 1fr;
  }
}

.oe-tp-steps {
  margin: 12px 0 0 0;
  padding-left: 1.2rem;
  color: var(--oe-tp-muted);
  line-height: 1.65;
}

.oe-tp-inlineLink {
  color: var(--oe-tp-pub-accent2);
  font-weight: 700;
}

.oe-tp-pubFoot {
  text-align: center;
  padding: 24px 16px 40px;
  color: var(--oe-tp-muted);
  font-size: 0.85rem;
}

.oe-tp-pubFoot__inner {
  max-width: 1210px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

/* Footer: header ile aynı marka + aynı .oe-tp-pubBrand__img ölçüleri (ayrı küçültme yok) */
.oe-tp-pubFoot .oe-tp-pubBrand--foot {
  justify-content: center;
}

.oe-tp-authPage {
  max-width: 1080px;
  margin: 0 auto;
  padding: 28px 18px 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 24px;
  align-items: start;
}

.oe-tp-authPage--register {
  max-width: 1180px;
}

.oe-tp-authPage__card {
  background: #fff;
  border-radius: 24px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--oe-tp-border);
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
}

.oe-tp-authPage__card--wide {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
}

.oe-tp-authPage__title {
  margin: 0 0 18px 0;
  font-size: 1.65rem;
  font-weight: 900;
}

.oe-tp-authPage__err {
  margin: 0 0 14px 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fef2f2;
  color: #991b1b;
  font-weight: 600;
}

.oe-tp-authPage__ok {
  margin: 0 0 14px 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #ecfdf5;
  color: #065f46;
  font-weight: 600;
}

.oe-tp-authPage__meta {
  margin: 18px 0 0 0;
  font-size: 0.9rem;
  color: var(--oe-tp-muted);
}

.oe-tp-authPage__meta a {
  color: var(--oe-tp-pub-accent2);
  font-weight: 700;
}

.oe-tp-authPage__dot {
  margin: 0 6px;
}

.oe-tp-authForm__row {
  margin-bottom: 14px;
}

.oe-tp-authForm__label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  font-size: 0.88rem;
}

.oe-tp-authForm__input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--oe-tp-border);
  font-size: 1rem;
  background: #fff;
}

.oe-tp-authForm__check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 16px 0;
  font-size: 0.9rem;
  color: var(--oe-tp-muted);
}

.oe-tp-authForm__radios {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin-top: 4px;
}

.oe-tp-authForm__radioLab {
  font-weight: 600;
  font-size: 0.9rem;
}

.oe-tp-regTabs {
  display: flex;
  gap: 10px;
  margin-bottom: 18px;
}

.oe-tp-regTabs__btn {
  flex: 1;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--oe-tp-border);
  background: #f1f5f9;
  font-weight: 800;
  cursor: pointer;
  color: var(--oe-tp-muted);
}

.oe-tp-regTabs__btn.is-active {
  background: linear-gradient(90deg, var(--oe-tp-pub-accent), var(--oe-tp-pub-accent2));
  color: #fff;
  border-color: transparent;
}

.oe-tp-regForm__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 16px;
}

.oe-tp-regForm__full {
  grid-column: 1 / -1;
}

/* Kayıt / profil tamamla: is-student sınıfı .oe-tp-authRegister üzerinde (JS + PHP); .oe-tp-public ile eşleşmediği için çift cinsiyet görünüyordu. */
.oe-tp-authRegister.is-student .oe-tp-regTeacherOnly {
  display: none !important;
}

.oe-tp-authRegister:not(.is-student) .oe-tp-regStudentOnly {
  display: none !important;
}

.oe-tp-studentSoon {
  max-width: 640px;
  margin: 0 auto;
  padding: 48px 18px 72px;
}

.oe-tp-studentSoon__card {
  background: #fff;
  border-radius: 24px;
  padding: 32px 28px;
  border: 1px solid var(--oe-tp-border);
  box-shadow: var(--oe-tp-shadow);
  text-align: center;
}

.oe-tp-studentSoon__title {
  margin: 0 0 12px 0;
  font-size: 1.5rem;
  font-weight: 900;
}

.oe-tp-studentSoon__text {
  margin: 0 0 22px 0;
  color: var(--oe-tp-muted);
  line-height: 1.6;
}

@media (max-width: 1024px) {
  .oe-tp-homeLayout {
    grid-template-columns: 1fr;
  }

  .oe-tp-homeLayout__rail {
    position: static;
  }

  .oe-tp-adSlot--sky {
    min-height: 120px;
  }

  .oe-tp-hero__grid {
    grid-template-columns: 1fr;
  }

  body.oe-public-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home .oe-public-shell--intro .oe-tp-hero__grid {
    grid-template-columns: 1fr;
  }

  .oe-tp-hero__art {
    min-height: 160px;
  }
}

@media (max-width: 900px) {
  .oe-tp-authPage {
    grid-template-columns: 1fr;
  }

  .oe-tp-authPage__card--wide {
    max-width: none;
  }
}

@media (max-width: 768px) {
  .oe-tp-pubNav__toggle {
    display: inline-flex;
  }

  .oe-tp-pubNav {
    display: none;
    position: absolute;
    right: var(--oe-pub-frame-pad, 16px);
    top: 58px;
    flex-direction: column;
    align-items: stretch;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--oe-tp-border);
    border-radius: 16px;
    box-shadow: var(--oe-tp-shadow);
    min-width: 220px;
  }

  .oe-tp-pubNav.is-open {
    display: flex;
  }

  .oe-tp-pubNav__sep {
    display: none;
  }

  .oe-tp-regForm__grid {
    grid-template-columns: 1fr;
  }
}

.oe-tp-kqResults__card {
  max-width: min(560px, 100%);
  margin: 0 auto;
  padding: clamp(24px, 3vw, 32px);
  background: var(--oe-tp-card-bg);
  border-radius: 16px;
  border: 1px solid var(--oe-tp-border);
  box-shadow: var(--oe-tp-shadow);
}

.oe-tp-kqResults__title {
  margin: 0 0 18px 0;
  font-size: var(--oe-tp-font-title);
  font-weight: 800;
}

.oe-tp-kqResults__list {
  list-style: none;
  margin: 0 0 22px 0;
  padding: 0;
}

.oe-tp-kqResults__item {
  padding: 12px 14px;
  margin-bottom: 8px;
  border-radius: 10px;
  background: #f8fafc;
  font-size: var(--oe-tp-font-body);
  font-weight: 600;
}

.oe-tp-kqResults__item--winner {
  background: linear-gradient(90deg, #ecfdf5, #d1fae5);
  border: 2px solid #22c55e;
  color: #065f46;
}

.oe-tp-kqResults__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.oe-tp-kqSetup__adSlot,
.oe-tp-kqResults__adSlot {
  margin-top: 16px;
}

.oe-tp-kqSetup__adSlot .oe-ad-slot--image:not(.oe-ad-slot--placeholder),
.oe-tp-kqResults__adSlot .oe-ad-slot--image:not(.oe-ad-slot--placeholder) {
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

/* ===== Faz 4: merkezi reklam slotları (.oe-ad-slot) ===== */
.oe-ad-slot {
  box-sizing: border-box;
  max-width: 100%;
}

.oe-ad-slot__img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.oe-ad-slot__link {
  display: block;
}

/* Görsel reklamlar: mevcut slot kutusunu doldur (placeholder / Google Ads / HTML / video sınıfları hariç) */
.oe-ad-slot.oe-ad-slot--image:not(.oe-ad-slot--placeholder) {
  position: relative;
  overflow: hidden;
  padding: 0;
  gap: 0;
  text-align: start;
  display: block;
  box-sizing: border-box;
  max-width: 100%;
}

.oe-tp-adSlot.oe-ad-slot--image:not(.oe-ad-slot--placeholder) {
  display: block;
  padding: 0;
  gap: 0;
  align-items: stretch;
  justify-content: flex-start;
  text-align: start;
}

.oe-ad-slot.oe-ad-slot--image:not(.oe-ad-slot--placeholder) .oe-ad-slot__media,
.oe-ad-slot.oe-ad-slot--image:not(.oe-ad-slot--placeholder) .oe-ad-slot__link.oe-ad-slot__media {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
}

.oe-ad-slot.oe-ad-slot--image:not(.oe-ad-slot--placeholder) .oe-ad-slot__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

/* Yatay bant / içerik arası: genişliğe göre oran (sabit px yok); üst banner gibi üst kapsayıcı yüksekliği olan yerlerde yerel CSS ile geçersizlenir */
.oe-ad-slot.oe-ad-slot--image.oe-tp-adSlot--banner:not(.oe-ad-slot--placeholder),
.oe-ad-slot.oe-ad-slot--image.oe-tp-adSlot--inline:not(.oe-ad-slot--placeholder) {
  width: 100%;
  max-width: 100%;
  min-height: clamp(3.25rem, 10vw, 6.5rem);
  aspect-ratio: 8 / 1;
}

/* Dikey ray / sky: üst bileşenin verdiği yüksekliği doldur */
.oe-ad-slot.oe-ad-slot--image.oe-tp-adSlot--rail:not(.oe-ad-slot--placeholder),
.oe-ad-slot.oe-ad-slot--image.oe-tp-adSlot--sky:not(.oe-ad-slot--placeholder) {
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
  align-self: stretch;
}

/* Panel üstü (aside) */
.oe-ad-slot.oe-ad-slot--image.oe-tp-adSlot--aside:not(.oe-ad-slot--placeholder) {
  width: 100%;
  max-width: 100%;
  min-height: clamp(3rem, 9vw, 5.5rem);
  aspect-ratio: 8 / 1;
}

.oe-ad-slot--placeholder {
  border: 1px dashed rgba(148, 163, 184, 0.85);
  border-radius: var(--oe-tp-radius, 12px);
  background: repeating-linear-gradient(
    -10deg,
    rgba(226, 232, 240, 0.45),
    rgba(226, 232, 240, 0.45) 10px,
    rgba(255, 255, 255, 0.75) 10px,
    rgba(255, 255, 255, 0.75) 20px
  );
  padding: 12px;
  color: var(--oe-tp-muted);
  overflow: hidden;
}

.oe-ad-slot--panelTop {
  margin-bottom: 14px;
}

.oe-ad-slot__htmlInner {
  max-width: 100%;
  overflow-x: auto;
}

.oe-tp-play .oe-tp__iframeWrap .oe-ad-slot--inline,
.oe-tp-play .oe-tp__iframeWrap .oe-ad-slot--placeholder {
  margin-bottom: 12px;
}

.oe-tp-play .oe-tp__iframeWrap .oe-ad-slot--inline:last-of-type,
.oe-tp-play .oe-tp__iframeWrap .oe-ad-slot--placeholder:last-of-type {
  margin-bottom: 0;
}

#oe-tp-play-embed-json {
  display: none !important;
}

/** Oyun Oynat: oyun kabuğu (#oe-tp-game-shell) içinde tam alan reklam overlay’i. */
.oe-tp-playGameStage {
  position: relative;
  min-height: 720px;
  background: #f3f4f6;
  border-top: 1px solid var(--oe-tp-border);
}

.oe-tp-game-shell {
  position: relative;
  width: 100%;
  min-height: 720px;
  isolation: isolate;
}

/* Reklam iframe içinde (oe-wp-loader); parent katmanları kapatılır. */
#oe-tp-game-shell[data-iframe-ads-only="1"] .oe-tp-game-ad {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.oe-tp-game-shell > .oe-tp-game-frame {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0;
}

/**
 * display:flex açıkta kaldığında [hidden] bazı tarayıcı/önceliklerde çalışmıyordu —
 * Başlat öncesi bile reklam “takılı” görünüyordu; yalnızca .is-active ile gösterilir.
 */
.oe-tp-game-ad {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  z-index: 2;
  box-sizing: border-box;
  display: none;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0;
  overflow: auto;
  overflow-x: hidden;
  background:
    radial-gradient(ellipse 120% 80% at 50% 20%, rgba(20, 184, 166, 0.18), transparent 55%),
    linear-gradient(165deg, rgba(15, 23, 42, 0.94) 0%, rgba(15, 23, 42, 0.9) 40%, rgba(17, 55, 78, 0.93) 100%);
}

.oe-tp-game-ad.is-active {
  display: flex;
  height: 100%;
  min-height: 100%;
}

.oe-tp-game-shell .oe-tp-game-frame.oe-tp-game-frame--blocked {
  opacity: 0.02;
  pointer-events: none;
}

.oe-tp-game-ad--phase-post {
  z-index: 3;
}

/** Hesabım → Reklamları Kaldır (reklamı atlama değil; ayrı sayfa). */
.oe-tp-game-ad__removeAds {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 20;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  padding: 10px 16px;
  margin: 0;
  border-radius: 999px;
  border: 1px solid rgba(14, 165, 233, 0.45);
  background: #f8fafc;
  color: #0369a1;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 4px 14px rgba(15, 23, 42, 0.35);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.oe-tp-game-ad__removeAds:hover {
  background: #fff;
  border-color: rgba(14, 165, 233, 0.75);
  color: #0c4a6e;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 6px 20px rgba(15, 23, 42, 0.4);
}

.oe-tp-game-ad__removeAds:focus-visible {
  outline: 3px solid rgba(56, 189, 248, 0.85);
  outline-offset: 2px;
}

.oe-tp-game-ad__frame {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 48px min(3vw, 18px) 12px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.oe-tp-game-ad__box {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  width: min(96%, 1480px);
  max-width: min(96vw, 1480px);
  margin: 0 auto;
  padding: clamp(12px, 1.8vw, 22px) clamp(12px, 2.5vw, 28px) clamp(12px, 1.8vh, 20px);
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: rgba(255, 255, 255, 0.97);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 2px 0 rgba(15, 23, 42, 0.06),
    0 24px 64px rgba(15, 23, 42, 0.28);
}

.oe-tp-game-ad__box--post {
  border-color: rgba(56, 189, 248, 0.35);
}

.oe-tp-game-ad__label {
  flex: 0 0 auto;
  font-size: clamp(1.05rem, 2.4vw, 1.55rem);
  font-weight: 800;
  color: var(--oe-tp-text);
  margin: 0 0 12px;
  letter-spacing: 0.02em;
  text-align: center;
}

.oe-tp-game-ad__text {
  flex: 0 0 auto;
  margin: 0 0 12px;
  color: var(--oe-tp-muted);
  font-size: clamp(0.9rem, 1.6vw, 1.05rem);
  line-height: 1.55;
  text-align: center;
  max-width: 56ch;
  margin-left: auto;
  margin-right: auto;
}

/**
 * Gerçek reklam / placeholder alanı: kabuğun büyük bölümü (genişlik ~%90–96, yükseklik flex + min).
 * İç slot (#oe-ad-game-before / #oe-ad-game-after) tam genişlik, yüksek min-height (mobil: ~55vh+).
 */
.oe-tp-game-ad__slot {
  flex: 1 1 auto;
  min-height: 0;
  width: min(94%, 1400px);
  max-width: 95%;
  margin: 0 auto 10px;
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.oe-tp-game-ad__slot .oe-tp-adSlot,
.oe-tp-game-ad__slot .oe-ad-slot {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.oe-tp-game-shell .oe-tp-game-ad #oe-ad-game-before,
.oe-tp-game-shell .oe-tp-game-ad #oe-ad-game-after {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: clamp(200px, 58vmin, min(76vh, 800px));
}

/* Google Ads (iframe) ile geri sayım / geç butonu arasında çakışmayı önle */
.oe-tp-game-shell .oe-tp-game-ad__slot:has(.oe-ad-slot--google-ads) {
	margin-bottom: clamp(20px, 3.5vh, 36px);
}

.oe-tp-game-ad__slot .oe-ad-slot--html {
  flex: 1 1 auto;
  width: 100%;
  min-height: clamp(200px, 52vh, min(72vh, 760px));
}

.oe-tp-game-ad__slot .oe-ad-slot--placeholder {
  gap: clamp(10px, 2vh, 18px);
  padding: clamp(14px, 2.5vh, 36px) clamp(12px, 2vw, 28px);
}

.oe-tp-game-ad__slot .oe-ad-slot--placeholder .oe-ad-slot__label,
.oe-tp-game-ad__slot .oe-ad-slot--placeholder .oe-tp-adSlot__label {
  font-size: clamp(1.05rem, 2.8vw, 1.45rem);
  font-weight: 800;
  color: #0f172a;
}

.oe-tp-game-ad__slot .oe-ad-slot--placeholder .oe-ad-slot__sub,
.oe-tp-game-ad__slot .oe-ad-slot--placeholder .oe-tp-adSlot__sub {
  font-size: clamp(0.95rem, 2.2vw, 1.2rem);
  line-height: 1.45;
  max-width: min(52ch, 92%);
}

.oe-tp-game-ad__slot .oe-ad-slot--image:not(.oe-ad-slot--placeholder) {
  flex: 1 1 auto;
  width: 100%;
  min-height: clamp(200px, 58vmin, min(76vh, 800px));
  max-height: min(76vh, 800px);
  padding: 0;
  display: block;
  box-sizing: border-box;
}

.oe-tp-game-ad__slot .oe-ad-slot--image:not(.oe-ad-slot--placeholder) .oe-ad-slot__media,
.oe-tp-game-ad__slot .oe-ad-slot--image:not(.oe-ad-slot--placeholder) .oe-ad-slot__link.oe-ad-slot__media {
  width: 100%;
  height: 100%;
  min-height: clamp(200px, 58vmin, min(76vh, 800px));
  max-height: min(76vh, 800px);
}

.oe-tp-game-ad__slot .oe-ad-slot--image:not(.oe-ad-slot--placeholder) .oe-ad-slot__img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: min(76vh, 800px);
  object-fit: cover;
  object-position: center;
}

/* Video: taşmayı önle, 16:9 içerik korunumu */
.oe-tp-game-ad__slot .oe-ad-slot--video .oe-ad-slot__video {
  width: 100%;
  max-width: 100%;
  max-height: min(76vh, 800px);
  height: auto;
  object-fit: contain;
  background: #0f172a;
}

.oe-tp-game-ad__countdown {
  flex: 0 0 auto;
  margin: 6px 0 6px;
  font-size: clamp(0.95rem, 1.8vw, 1.1rem);
  color: var(--oe-tp-muted);
  text-align: center;
}

.oe-tp-game-ad__countBig {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: clamp(2.75rem, 7vw, 4.25rem);
  line-height: 1.1;
  text-align: center;
  margin: 4px auto 12px;
  color: var(--oe-tp-accent);
}

.oe-tp-game-ad__skip {
  flex: 0 0 auto;
  width: 100%;
  justify-content: center;
  max-width: min(420px, 100%);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  min-height: 48px;
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
}

.oe-tp-game-shell .oe-tp-game-ad .oe-ad-slot--inline,
.oe-tp-game-shell .oe-tp-game-ad .oe-ad-slot--placeholder {
  margin-bottom: 0;
}

.oe-tp-playAfterStart {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed var(--oe-tp-border);
}

.oe-tp-playAfterStart__hint {
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--oe-tp-muted);
  max-width: 52ch;
  line-height: 1.45;
}

.oe-tp__iframe--adGated {
  outline: none;
}

/*
 * Shell nadiren tam ekran olabilir; oyun iframe’ine zorunlu 100vh/flex verilmez (doğal boyut).
 * Yalnızca aktif reklam katmanının üstte kalması.
 */
#oe-tp-game-shell:fullscreen,
#oe-tp-game-shell:-webkit-full-screen,
#oe-tp-game-shell:-moz-full-screen,
#oe-tp-game-shell:-ms-fullscreen {
  background: #000;
  position: relative;
}

#oe-tp-game-shell:fullscreen .oe-tp-game-ad.is-active,
#oe-tp-game-shell:-webkit-full-screen .oe-tp-game-ad.is-active,
#oe-tp-game-shell:-moz-full-screen .oe-tp-game-ad.is-active,
#oe-tp-game-shell:-ms-fullscreen .oe-tp-game-ad.is-active {
  display: flex !important;
  z-index: 9999;
}

/* —— Yayıncı paneli —— */
body.oe-publisher-shell-active .oe-tp-panel--publisher {
  min-height: 100vh;
}
.oe-tp-panel--publisher {
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px 20px 48px;
}
.oe-tp-pubHead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--oe-tp-border, #e5e7eb);
}

.oe-tp-pubHead__brand {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  min-width: 0;
}

.oe-tp-pubHead__logoLink {
  display: inline-flex;
  line-height: 0;
  flex-shrink: 0;
}

.oe-tp-pubHead__logoImg {
  height: 40px;
  width: auto;
  max-width: min(240px, 42vw);
  object-fit: contain;
  display: block;
}

.oe-tp-pubHead__brandText {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.oe-tp-pubHead__title {
  font-weight: 800;
  text-decoration: none;
  color: inherit;
}
.oe-tp-pubHead__sub {
  display: block;
  font-size: 13px;
  color: var(--oe-tp-muted, #64748b);
}
.oe-tp-pubHead__toggle {
  display: none;
}
.oe-tp-pubNav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
}
.oe-tp-pubNav__link {
  font-size: 14px;
  text-decoration: none;
  color: var(--oe-tp-text, #0f172a);
  padding: 6px 10px;
  border-radius: 8px;
}
.oe-tp-pubNav__link.is-active {
  background: rgba(14, 165, 233, 0.12);
  color: #0369a1;
  font-weight: 700;
}
.oe-tp-pubNav__link--ghost {
  color: #64748b;
}
.oe-tp-pubGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 14px;
  margin: 20px 0;
}
.oe-tp-pubGrid--3 {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.oe-tp-pubCard {
  background: #fff;
  border: 1px solid var(--oe-tp-border, #e5e7eb);
  border-radius: 12px;
  padding: 16px;
  text-align: center;
}
.oe-tp-pubCard__k {
  font-size: 1.75rem;
  font-weight: 800;
  color: #0ea5e9;
}
.oe-tp-pubCard__l {
  font-size: 13px;
  color: #64748b;
  margin-top: 6px;
}
.oe-tp-pubForm__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
}
.oe-tp-pubForm__full {
  grid-column: 1 / -1;
}
.oe-tp-pubForm__row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.oe-tp-pubForm__label {
  font-size: 13px;
  font-weight: 600;
}
.oe-tp-pubForm__input,
.oe-tp-pubForm__radio {
  font-size: 14px;
}
.oe-tp-pubForm__actions {
  margin-top: 20px;
}
.oe-tp-pubProfile dt {
  font-weight: 700;
  margin-top: 12px;
}
.oe-tp-pubProfile dd {
  margin: 0;
}
.oe-tp-table--pubAds {
  font-size: 13px;
}
.oe-tp-inlineForm {
  display: inline;
}
.oe-tp-linkBtn {
  background: none;
  border: 0;
  padding: 0;
  color: #0369a1;
  text-decoration: underline;
  cursor: pointer;
  font: inherit;
}
.oe-tp-regTabs {
  flex-wrap: wrap;
}
.oe-af-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}
.oe-af-chip {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  text-decoration: none;
  font-size: 13px;
  color: #334155;
}
.oe-af-chip.is-active {
  background: #0ea5e9;
  border-color: #0ea5e9;
  color: #fff;
}
.oe-af-inlineForm {
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 4px;
}
.oe-af-btn--danger {
  border-color: #b91c1c;
  color: #b91c1c;
}

/* Yayıncı — yeni reklam formu */
.oe-pubAdForm__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 24px;
  align-items: flex-start;
}
.oe-pubCard {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.08);
  padding: 20px 22px;
  margin-bottom: 20px;
  border: 1px solid #e2e8f0;
}
.oe-pubCard--sticky {
  position: sticky;
  top: 16px;
}
.oe-pubCard__title {
  margin: 0 0 8px;
  font-size: 1.1rem;
}
.oe-pubCard__sub {
  margin: 18px 0 10px;
  font-size: 0.95rem;
  color: #475569;
}
.oe-pubCard__hint {
  margin: 0 0 14px;
  font-size: 13px;
  color: #64748b;
  line-height: 1.45;
}
.oe-pubCard__hint--accent {
  color: #0f172a;
  font-weight: 500;
}
.oe-pubCard__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.oe-pubCard__body--2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.oe-pubLab {
  font-weight: 600;
  font-size: 13px;
  margin-top: 6px;
}
.oe-pubInp {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
}
.oe-pubFieldHint {
  margin: 0 0 6px;
  font-size: 12px;
  color: #64748b;
}
.oe-pubTypeGrid,
.oe-pubTargetGrid,
.oe-pubPlaceGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.oe-pubTypeCard,
.oe-pubTargetCard,
.oe-pubPlaceCard {
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px;
  display: block;
  cursor: pointer;
  background: #f8fafc;
  transition: border-color 0.15s, background 0.15s;
}
.oe-pubTypeCard:has(input:checked),
.oe-pubTargetCard:has(input:checked),
.oe-pubPlaceCard:has(input:checked) {
  border-color: #0ea5e9;
  background: #f0f9ff;
}
.oe-pubTypeCard input,
.oe-pubTargetCard input,
.oe-pubPlaceCard input {
  margin-right: 8px;
}
.oe-pubTypeCard__t,
.oe-pubTargetCard__t,
.oe-pubPlaceCard__t {
  display: block;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 6px;
}
.oe-pubTypeCard__d,
.oe-pubTargetCard__d,
.oe-pubPlaceCard__d {
  display: block;
  font-size: 12px;
  color: #64748b;
  line-height: 1.4;
}
.oe-pubTypeCard__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  background: #e2e8f0;
  color: #475569;
  padding: 2px 8px;
  border-radius: 999px;
  margin-bottom: 8px;
}
.oe-pubTypeCard--disabled,
.oe-pubPlaceCard--disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.oe-pubFieldHint--soft {
  color: #94a3b8;
  font-style: italic;
}
.oe-pubFieldHint--warn {
  color: #b45309;
  font-weight: 500;
}
.oe-pubFieldHint--muted {
  color: #94a3b8;
}
.oe-pubLab--sm {
  font-size: 12px;
  margin-top: 4px;
}

.oe-pubSlotGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.oe-pubSlotCard {
  border: 2px solid #e2e8f0;
  border-radius: 14px;
  padding: 14px 16px 16px;
  background: #f8fafc;
  transition: border-color 0.15s ease, opacity 0.15s ease, background 0.15s ease;
}
.oe-pubSlotCard.is-selected {
  border-color: #0ea5e9;
  background: #f0f9ff;
  box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.2);
}
.oe-pubSlotCard.is-inactive {
  opacity: 0.55;
}
.oe-pubSlotCard--soon {
  opacity: 0.5;
  cursor: not-allowed;
  border-style: dashed;
}
.oe-pubSlotCard__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  background: #e2e8f0;
  color: #475569;
  padding: 2px 8px;
  border-radius: 999px;
  margin-bottom: 8px;
}
.oe-pubSlotCard__head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 15px;
  color: #0f172a;
}
.oe-pubSlotCard__cb {
  margin-top: 4px;
  flex-shrink: 0;
}
.oe-pubSlotCard__headTitle {
  flex: 1;
  line-height: 1.35;
}
.oe-pubSlotCard__title {
  margin: 0 0 6px;
  font-size: 15px;
}
.oe-pubSlotCard__desc {
  margin: 0 0 10px;
  font-size: 12px;
  color: #64748b;
  line-height: 1.45;
}
.oe-pubSlotCard__formatInfo {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e2e8f0;
  font-size: 12px;
  line-height: 1.45;
  color: #334155;
}
.oe-pubSlotCard__formatInfo--compact {
  font-size: 11px;
  padding: 8px 10px;
  margin-bottom: 8px;
}
.oe-pubSlotCard__formatLine {
  margin: 0 0 6px;
}
.oe-pubSlotCard__formatLine:last-child {
  margin-bottom: 0;
}
.oe-pubSlotCard__formatK {
  font-weight: 700;
  color: #0f172a;
  margin-right: 4px;
}
.oe-pubSlotChips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.oe-pubSlotChip {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #475569;
}
.oe-pubSlotChip--size {
  background: linear-gradient(135deg, #e0f2fe, #ccfbf1);
  color: #0c4a6e;
  border: 1px solid rgba(14, 165, 233, 0.35);
}
.oe-pubSlotCard__body {
  padding-left: 26px;
}
.oe-pubSlotCard--soon .oe-pubSlotCard__body {
  padding-left: 0;
}
.oe-pubSlotCard__videoFields {
  margin-bottom: 10px;
}
.oe-pubSlotCard__videoSiteWarn {
  margin-bottom: 8px !important;
}
.oe-pubSlotCard__mediaRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.oe-pubSlotDim {
  min-height: 1.25em;
  font-size: 11px;
  color: #64748b;
  margin: 4px 0 0;
}
.oe-pubSlotPreview {
  margin-top: 10px;
  min-height: 72px;
  border-radius: 10px;
  background: #fff;
  border: 1px dashed #cbd5e1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.oe-pubSlotPreview img {
  max-width: 100%;
  max-height: 120px;
  object-fit: contain;
  display: block;
}
.oe-pubSlotPreview--global {
  margin-top: 8px;
  min-height: 100px;
}
.oe-pubBtnClear {
  font-size: 13px;
}
.oe-pubPrevList {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  border-top: 1px solid #e2e8f0;
}
.oe-pubPrevList__item {
  font-size: 12px;
  color: #475569;
  padding: 8px 0;
  border-bottom: 1px solid #f1f5f9;
  line-height: 1.4;
}
.oe-pubPrevList__item--muted {
  color: #94a3b8;
  font-style: italic;
  border-bottom: 0;
}

.oe-pubPrev__guide {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
  font-size: 12px;
  line-height: 1.45;
  color: #334155;
}
.oe-pubPrev__guideHd {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}
.oe-pubPrev__guideLine {
  margin: 0 0 6px;
}
.oe-pubPrev__guideLine:last-child {
  margin-bottom: 0;
}

.oe-pubAdsPlacements__assets {
  margin-top: 6px;
  font-size: 11px;
  color: #64748b;
  line-height: 1.35;
}

.oe-ac-ruleBanner {
  margin: 12px 0 0;
  padding: 10px 14px;
  border-radius: 10px;
  border-left: 4px solid #0ea5e9;
  background: #f0f9ff;
  color: #0c4a6e;
  font-size: 13px;
  line-height: 1.45;
}
.oe-ac-placeDetail {
  margin: 8px 0 0;
  padding: 0 0 0 18px;
  font-size: 11px;
  color: #475569;
  max-width: 320px;
}
.oe-ac-placeDetail li {
  margin-bottom: 8px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.oe-ac-placeDetail__thumb img {
  display: block;
  border-radius: 4px;
}
.oe-ac-placeDetail__meta {
  color: #64748b;
  font-weight: 400;
}

.oe-pubPrev {
  font-size: 13px;
}
.oe-pubPrev__media {
  min-height: 120px;
  border-radius: 10px;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 10px;
}
.oe-pubPrev__media img {
  width: 100%;
  height: auto;
  display: block;
  max-height: 160px;
  object-fit: contain;
}
.oe-pubPrev__ph,
.oe-pubPrev__vid {
  color: #64748b;
  padding: 12px;
  font-size: 12px;
  word-break: break-all;
  text-align: center;
}
.oe-pubPrev__title {
  font-weight: 700;
  margin: 0 0 6px;
}
.oe-pubPrev__meta {
  margin: 4px 0;
  color: #475569;
  line-height: 1.35;
}
.oe-pubForm__actions {
  margin-top: 8px;
}
.oe-pubMediaHint {
  display: inline-block;
  margin-left: 10px;
  font-size: 13px;
  color: #64748b;
}
.oe-pubAdBadge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}
.oe-pubAdBadge--pending {
  background: #fef9c3;
  color: #854d0e;
}
.oe-pubAdBadge--approved {
  background: #dcfce7;
  color: #166534;
}
.oe-pubAdBadge--rejected {
  background: #fee2e2;
  color: #991b1b;
}
.oe-pubAdBadge--paused {
  background: #e2e8f0;
  color: #334155;
}
.oe-pubAdBadge--expired {
  background: #f1f5f9;
  color: #64748b;
}
.oe-tp-pubHintGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 20px 0;
}
.oe-tp-pubHintCard {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.45;
  color: #475569;
}
.oe-tp-pubHintCard strong {
  display: block;
  margin-bottom: 6px;
  color: #0f172a;
}

/* Admin kampanya onayı (ön yüz + wp-admin) */
.oe-ac-admin__head {
  margin-bottom: 16px;
}
.oe-ac-admin__title {
  margin: 0 0 6px;
}
.oe-ac-admin__lead {
  margin: 0;
  color: #64748b;
}
.oe-ac-statGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.oe-ac-statCard {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px;
  text-align: center;
}
.oe-ac-statCard--ok {
  border-color: #86efac;
  background: #f0fdf4;
}
.oe-ac-statCard--bad {
  border-color: #fecaca;
  background: #fef2f2;
}
.oe-ac-statCard--muted {
  background: #f8fafc;
}
.oe-ac-statCard__v {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
}
.oe-ac-statCard__l {
  font-size: 11px;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.oe-ac-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.oe-ac-tab {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  text-decoration: none;
  font-size: 13px;
  color: #334155;
}
.oe-ac-tab.is-active {
  background: #0f172a;
  border-color: #0f172a;
  color: #fff;
}
.oe-ac-tableWrap {
  overflow-x: auto;
}
.oe-ac-table .oe-ac-th-prev {
  width: 90px;
}
.oe-ac-prevBox {
  width: 72px;
  height: 48px;
  border-radius: 6px;
  overflow: hidden;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #64748b;
}
.oe-ac-prevBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.oe-ac-chip {
  display: inline-block;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 6px;
  background: #f1f5f9;
  margin: 2px 2px 2px 0;
  color: #334155;
}
.oe-ac-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}
.oe-ac-badge--pending {
  background: #fef9c3;
  color: #854d0e;
}
.oe-ac-badge--approved {
  background: #dcfce7;
  color: #166534;
}
.oe-ac-badge--rejected {
  background: #fee2e2;
  color: #991b1b;
}
.oe-ac-badge--paused {
  background: #e2e8f0;
  color: #334155;
}
.oe-ac-badge--expired {
  background: #f1f5f9;
  color: #64748b;
}
.oe-ac-badge--draft {
  background: #f8fafc;
  color: #64748b;
}
.oe-ac-actions .oe-ac-inline {
  display: inline-block;
  margin: 0 4px 4px 0;
  vertical-align: middle;
}
.oe-ac-actions .oe-ac-link {
  display: inline-block;
  margin-right: 8px;
  font-size: 12px;
}
.oe-ac-pubBanner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  border-radius: 10px;
  margin-bottom: 16px;
}
.oe-ac-pubBanner__stats span {
  margin-right: 12px;
  font-size: 13px;
}
.oe-ac-pubBanner__clear {
  margin-left: auto;
  font-size: 13px;
}
.oe-admin-front-table__sep {
  color: #94a3b8;
  margin: 0 4px;
}

@media (max-width: 960px) {
  .oe-pubAdForm__layout {
    grid-template-columns: 1fr;
  }
  .oe-pubSlotGrid {
    grid-template-columns: 1fr;
  }
  .oe-pubCard--sticky {
    position: static;
  }
  .oe-pubCard__body--2col {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .oe-tp-pubForm__grid {
    grid-template-columns: 1fr;
  }
  .oe-tp-pubNav {
    flex-direction: column;
    align-items: flex-start;
  }
}

/*
 * Yalnızca public ana sayfa (body.oe-public-home-page): tam genişlik arka plan,
 * tema yatay boşluklarını kırma, yan reklamları kenara yaklaştırma.
 * Giriş/kayıt vb. diğer public sayfalar etkilenmez.
 */
html:has(body.oe-public-home-page:not(.oe-tp-shell-active)) {
  background-color: var(--oe-pub-home-bg, #f3f8fc);
}

body.oe-public-home-page:not(.oe-tp-shell-active) {
  --oe-pub-home-bg: #f3f8fc;
  background-color: var(--oe-pub-home-bg) !important;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-home.oe-public-app {
  position: relative;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-color: var(--oe-pub-home-bg);
  box-sizing: border-box;
}

/* Ana sayfa üst/alt şerit: newdesign.json — sidebar/white + borders.light + shadows.soft */
body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-home .oe-public-header.oe-tp-pubHeader {
  background-color: #ffffff;
  border-bottom: 1px solid #e6eef4;
  box-shadow: 0 8px 24px rgba(15, 54, 82, 0.06);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-home .oe-public-footer.oe-tp-pubFoot {
  background-color: #ffffff;
  border-top: 1px solid #e6eef4;
  box-shadow: 0 -4px 20px rgba(15, 54, 82, 0.04);
}

/* Footer, shortcode çıktısından hemen sonra (the_content sarmalayıcı) geldiğinde de aynı görünüm */
body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-footer.oe-tp-pubFoot {
  background-color: #ffffff;
  border-top: 1px solid #e6eef4;
  box-shadow: 0 -4px 20px rgba(15, 54, 82, 0.04);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-home .oe-public-main {
  background-color: var(--oe-pub-home-bg);
}

body.oe-public-home-page:not(.oe-tp-shell-active) .entry-content,
body.oe-public-home-page:not(.oe-tp-shell-active) .wp-block-post-content,
body.oe-public-home-page:not(.oe-tp-shell-active) article.type-page .entry-content {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home .oe-public-side-ad--left {
  justify-self: start;
}

body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-pageFrame--home .oe-public-side-ad--right {
  justify-self: end;
}

body.oe-public-home-page:not(.oe-tp-shell-active)
  .oe-public-pageFrame--home
  .oe-public-side-ad
  .oe-tp-adSlot--rail {
  padding-left: 6px;
  padding-right: 6px;
}

@media (max-width: 1199px) {
  body.oe-public-home-page:not(.oe-tp-shell-active) .oe-public-home.oe-public-app {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
}

/* Remove Ads (Reklamları Kaldır) — scoped */
.oe-remove-ads-page {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 34px;
  box-sizing: border-box;
  color: #071735;
}

.oe-remove-ads-page * {
  box-sizing: border-box;
}

.oe-remove-ads-alert {
  margin: 0 0 18px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid #cfe4ff;
  background: #f3f9ff;
  color: #244166;
  font-weight: 700;
}

.oe-remove-ads-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 520px;
  gap: 28px;
  align-items: center;
  margin-bottom: 28px;
}

.oe-title-line {
  display: flex;
  align-items: center;
  gap: 12px;
}

.oe-title-line h1 {
  margin: 0;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: #071735;
}

.oe-title-badge {
  width: 25px;
  height: 25px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #2f8df5, #1d67d8);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(47, 141, 245, 0.28);
}

.oe-remove-ads-title-area p {
  max-width: 650px;
  margin: 14px 0 0;
  font-size: 15px;
  line-height: 1.7;
  color: #60708b;
}

.oe-current-status-card {
  min-height: 126px;
  padding: 22px 28px;
  border-radius: 18px;
  background: radial-gradient(circle at 12% 50%, rgba(61, 194, 105, 0.15), transparent 28%),
    #fff;
  border: 1px solid #dce5f2;
  box-shadow: 0 12px 34px rgba(15, 35, 72, 0.08);
  display: flex;
  align-items: center;
  gap: 22px;
}

.oe-current-status-card.is-inactive {
  background: radial-gradient(circle at 12% 50%, rgba(239, 68, 68, 0.12), transparent 30%), #fff;
  border-color: #f3caca;
}

.oe-status-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #21b85b, #12863f);
  color: #fff;
  font-size: 36px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 24px rgba(22, 157, 72, 0.22);
  flex: 0 0 auto;
}

.oe-current-status-card.is-inactive .oe-status-icon {
  background: linear-gradient(135deg, #ef4444, #b91c1c);
  box-shadow: 0 14px 24px rgba(239, 68, 68, 0.22);
}

.oe-status-label {
  display: inline-flex;
  padding: 5px 13px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 8px;
}

.oe-status-label.active {
  background: #dbf8e3;
  color: #16803d;
}

.oe-status-label.inactive {
  background: #e2e8f0;
  color: #334155;
}

.oe-status-content h3 {
  margin: 0 0 8px;
  font-size: 19px;
  font-weight: 850;
  color: #071735;
}

.oe-status-content p {
  margin: 0;
  font-size: 15px;
  color: #51627d;
}

.oe-status-content strong {
  color: #235ef4;
}

.oe-remove-ads-section {
  margin-bottom: 24px;
}

.oe-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

.oe-section-head h2 {
  margin: 0;
  font-size: 21px;
  font-weight: 850;
  color: #071735;
}

.oe-section-head p {
  margin: 7px 0 0;
  font-size: 14px;
  color: #718096;
}

.oe-pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.oe-price-card {
  position: relative;
  min-height: 214px;
  padding: 28px;
  border-radius: 18px;
  border: 1px solid #dce5f2;
  background: #fff;
  box-shadow: 0 12px 34px rgba(15, 35, 72, 0.07);
}

.oe-price-card.is-current {
  border-color: #2d6cff;
  box-shadow: 0 16px 38px rgba(45, 108, 255, 0.12);
}

.oe-current-package-label {
  position: absolute;
  top: -11px;
  left: 22px;
  padding: 5px 12px;
  border-radius: 8px;
  background: #236ff0;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}

.oe-price-card-top {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-bottom: 14px;
}

.oe-package-icon {
  width: 62px;
  height: 62px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  flex: 0 0 auto;
}

.oe-package-icon.teacher {
  background: #eaf4ff;
}

.oe-package-icon.student {
  background: #fff0dc;
}

.oe-price-card h3 {
  margin: 0 0 7px;
  font-size: 19px;
  font-weight: 850;
  color: #071735;
}

.oe-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.oe-price strong {
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #071735;
}

.oe-price span {
  font-size: 16px;
  font-weight: 800;
  color: #3e4b63;
}

.oe-role-badge {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 16px;
}

.oe-role-badge.blue {
  background: #edf5ff;
  color: #236ff0;
}

.oe-role-badge.orange {
  background: #fff1dd;
  color: #f18714;
}

.oe-package-features {
  list-style: none;
  padding: 0;
  margin: 0;
}

.oe-package-features li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.45;
  color: #5e6e88;
}

.oe-package-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #236ff0;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.oe-package-features.orange-check li::before {
  background: #f59b25;
}

.oe-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-bottom: 24px;
}

.oe-benefit-card {
  min-height: 104px;
  padding: 18px;
  border: 1px solid #dce5f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 35, 72, 0.06);
  display: flex;
  align-items: center;
  gap: 17px;
}

.oe-benefit-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 29px;
  flex: 0 0 auto;
}

.oe-benefit-icon.blue {
  background: #eaf4ff;
}

.oe-benefit-icon.orange {
  background: #fff2dc;
}

.oe-benefit-icon.purple {
  background: #f0eaff;
}

.oe-benefit-card h3 {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 850;
  color: #071735;
}

.oe-benefit-card p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: #62718a;
}

.oe-payment-layout {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 24px;
  margin-bottom: 24px;
}

.oe-remove-ads-card {
  background: #fff;
  border: 1px solid #dce5f2;
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(15, 35, 72, 0.07);
  padding: 24px;
}

.oe-card-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.oe-card-title span {
  width: 35px;
  height: 35px;
  border-radius: 12px;
  background: #eaf4ff;
  color: #2276e7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.oe-card-title h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 850;
  color: #071735;
}

.oe-bank-table {
  border: 1px solid #e0e8f3;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

.oe-bank-row {
  min-height: 60px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid #e9eef6;
}

.oe-bank-row:last-child {
  border-bottom: none;
}

.oe-bank-row.has-copy {
  grid-template-columns: 120px minmax(0, 1fr) 38px;
}

.oe-bank-row span {
  font-size: 14px;
  font-weight: 750;
  color: #6b7890;
}

.oe-bank-row strong {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 750;
  color: #0a1938;
  word-break: break-word;
}

.oe-copy-btn {
  width: 34px;
  height: 34px;
  border: 1px solid #d8e5f6;
  border-radius: 10px;
  background: #f7fbff;
  color: #2578e8;
  cursor: pointer;
  font-size: 17px;
  transition: 0.18s ease;
}

.oe-copy-btn:hover {
  background: #eaf4ff;
  border-color: #9fc8ff;
}

.oe-copy-btn.is-copied {
  background: #dbf8e3;
  border-color: #86efac;
  color: #166534;
}

.oe-info-box {
  margin-top: 20px;
  padding: 15px 16px;
  border-radius: 15px;
  background: #f3f9ff;
  border: 1px solid #cfe4ff;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.oe-info-box span {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 1px solid #b9d9ff;
  color: #2276e7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 850;
  flex: 0 0 auto;
}

.oe-info-box p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: #4f627c;
}

.oe-form-description {
  margin: -6px 0 20px;
  font-size: 14px;
  line-height: 1.55;
  color: #64738c;
}

.oe-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.oe-form-group {
  margin-bottom: 18px;
}

.oe-form-group.full {
  width: 100%;
}

.oe-form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 13.5px;
  font-weight: 850;
  color: #637089;
}

.oe-form-group label span {
  font-weight: 600;
  color: #8b98aa;
}

.oe-form-group input,
.oe-form-group textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #dce5f2;
  border-radius: 13px;
  background: #fff;
  padding: 0 15px;
  font-size: 14px;
  color: #071735;
  outline: none;
  transition: 0.18s ease;
}

.oe-form-group textarea {
  min-height: 78px;
  padding: 13px 15px;
  resize: vertical;
  font-family: inherit;
}

.oe-form-group input:focus,
.oe-form-group textarea:focus {
  border-color: #307df0;
  box-shadow: 0 0 0 4px rgba(48, 125, 240, 0.1);
}

.oe-upload-box {
  min-height: 78px;
  border: 1.5px dashed #b8c9df;
  border-radius: 15px;
  background: #fbfdff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex-direction: column;
  cursor: not-allowed;
  opacity: 0.85;
}

.oe-upload-box span {
  font-size: 27px;
  color: #236ff0;
  line-height: 1;
}

.oe-upload-box strong {
  font-size: 14px;
  font-weight: 850;
  color: #244166;
}

.oe-upload-box small {
  font-size: 12.5px;
  color: #7c8aa0;
}

.oe-payment-submit {
  width: 58%;
  min-width: 280px;
  height: 52px;
  border: none;
  border-radius: 14px;
  background: linear-gradient(135deg, #1267ff, #2449e8);
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 14px 26px rgba(18, 103, 255, 0.24);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  transition: 0.18s ease;
}

.oe-payment-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(18, 103, 255, 0.3);
}

.oe-secure-note {
  margin: 14px 0 0;
  font-size: 12.5px;
  color: #7a879b;
}

.oe-bottom-info {
  min-height: 98px;
  padding: 18px 22px;
  border-radius: 18px;
  border: 1px solid #ffdca5;
  background: linear-gradient(90deg, #fff8ea, #fffdf8);
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 70px;
  gap: 16px;
  align-items: center;
}

.oe-bottom-info-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ffc66a;
  color: #fff;
  font-size: 26px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.oe-bottom-info h3 {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 900;
  color: #27304a;
}

.oe-bottom-info p {
  margin: 0;
  font-size: 14px;
  color: #66738a;
  line-height: 1.55;
}

.oe-bottom-info-illustration {
  font-size: 42px;
  text-align: center;
}

@media (max-width: 1180px) {
  .oe-remove-ads-header {
    grid-template-columns: 1fr;
  }

  .oe-pricing-grid,
  .oe-payment-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .oe-remove-ads-page {
    padding: 24px 18px;
  }

  .oe-title-line h1 {
    font-size: 28px;
  }

  .oe-benefits-grid {
    grid-template-columns: 1fr;
  }

  .oe-form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .oe-payment-submit {
    width: 100%;
    min-width: 0;
  }

  .oe-bank-row,
  .oe-bank-row.has-copy {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .oe-copy-btn {
    justify-self: start;
  }

  .oe-bottom-info {
    grid-template-columns: 44px 1fr;
  }

  .oe-bottom-info-illustration {
    display: none;
  }
}

/* Son bildirim + küçük ekler (.oe-remove-ads-page içinde) */
.oe-remove-ads-page .oe-remove-ads-alert--orange {
  border-color: #fdba74;
  background: #fff7ed;
}

.oe-remove-ads-page .oe-remove-ads-lastNotice {
  margin: 18px 0 24px;
}

.oe-remove-ads-page .oe-remove-ads-lastNotice h2 {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 800;
  color: #27304a;
}

.oe-remove-ads-page .oe-remove-ads-lastNotice__card {
  border-radius: 14px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  background: #fafbff;
}

.oe-remove-ads-page .oe-remove-ads-lastNotice__card.is-pending {
  border-color: #fdba74;
  background: #fff7ed;
}

.oe-remove-ads-page .oe-remove-ads-lastNotice__card.is-approved {
  border-color: #86efac;
  background: #f0fdf4;
}

.oe-remove-ads-page .oe-remove-ads-lastNotice__card.is-rejected {
  border-color: #fca5a5;
  background: #fef2f2;
}

.oe-remove-ads-page .oe-remove-ads-lastNotice__card p {
  margin: 6px 0;
  font-size: 14px;
}

.oe-remove-ads-page .oe-remove-ads-lastNotice__badge {
  font-weight: 800;
}

.oe-remove-ads-page .oe-remove-ads-adminPkg label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 14px;
}

.oe-remove-ads-page .oe-upload-box input[type="file"] {
  display: block;
  margin-top: 8px;
}

.oe-remove-ads-page .oe-pkg-desc {
  margin: 10px 0 0;
  font-size: 13px;
  color: #5b677f;
  line-height: 1.45;
}

.oe-remove-ads-page .oe-pkg-badge {
  margin-left: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #ea580c;
}

/*
 * Panel mobil/tablet: native select ve form grid taşması
 * (uzun option metni + minmax(160px,1fr) grid min-width:auto etkisi).
 */
@media (max-width: 900px) {
  body.oe-tp-shell-active #oe-tp-app select,
  body.oe-tp-shell-active #oe-tp-app textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  body.oe-tp-shell-active #oe-tp-app input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="range"]):not([type="color"]) {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  body.oe-tp-shell-active #oe-tp-app .oe-tp-form {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  body.oe-tp-shell-active #oe-tp-app .oe-tp-form > * {
    min-width: 0;
    max-width: 100%;
  }

  body.oe-tp-shell-active #oe-tp-app .oe-tp-field {
    min-width: 0;
    max-width: 100%;
  }

  body.oe-tp-shell-active #oe-tp-app .oe-tp-panel,
  body.oe-tp-shell-active #oe-tp-app .oe-tp-content,
  body.oe-tp-shell-active #oe-tp-app .oe-tp-mainCol {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Mobil/tablet (≤900px): #oe-tp-app select için native menü yerine bottom-sheet (JS: oe-tp-mobile-select-sheet.js) */
.oe-tp-mobile-select-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000200;
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  margin: 0;
  background: rgba(15, 23, 42, 0.45);
  -webkit-tap-highlight-color: transparent;
}

.oe-tp-mobile-select-backdrop.is-open {
  display: flex;
}

.oe-tp-mobile-select-sheet {
  width: 100%;
  max-width: 100%;
  max-height: min(72vh, 560px);
  box-sizing: border-box;
  background: var(--oe-tp-card-bg, #fff);
  color: var(--oe-tp-text, #111827);
  border-radius: 16px 16px 0 0;
  box-shadow: 0 -10px 40px rgba(15, 23, 42, 0.18);
  padding: 12px 0 max(12px, env(safe-area-inset-bottom, 0px));
  overflow: hidden;
  animation: oe-tp-mobile-select-sheet-in 0.22s ease-out;
}

@keyframes oe-tp-mobile-select-sheet-in {
  from {
    transform: translateY(12px);
    opacity: 0.92;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.oe-tp-mobile-select-sheet__title {
  padding: 8px 20px 12px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--oe-tp-muted, #6b7280);
  border-bottom: 1px solid var(--oe-tp-border, #e5e7eb);
  flex-shrink: 0;
}

.oe-tp-mobile-select-sheet__list {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: min(60vh, 480px);
}

.oe-tp-mobile-select-optgroup {
  padding: 14px 20px 6px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--oe-tp-muted, #6b7280);
  background: var(--oe-tp-page-bg, #eef1f6);
}

.oe-tp-mobile-select-option {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 16px 20px;
  min-height: 48px;
  text-align: left;
  font: inherit;
  font-size: 1rem;
  line-height: 1.35;
  color: inherit;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--oe-tp-border, #e5e7eb);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.oe-tp-mobile-select-option:last-child {
  border-bottom: none;
}

.oe-tp-mobile-select-option:hover,
.oe-tp-mobile-select-option:focus-visible {
  background: rgba(37, 99, 235, 0.08);
  outline: none;
}

.oe-tp-mobile-select-option.is-selected {
  font-weight: 700;
  color: var(--oe-tp-accent, #2563eb);
  background: rgba(37, 99, 235, 0.06);
}

.oe-tp-mobile-select-option--disabled {
  padding: 14px 20px;
  min-height: 44px;
  font-size: 0.95rem;
  color: var(--oe-tp-muted, #6b7280);
  border-bottom: 1px solid var(--oe-tp-border, #e5e7eb);
  opacity: 0.85;
}

/* Soru ekleme: panel içi hata / bilgi (alert yerine) */
#oe-kq-form-alert.oe-kq-form-alert {
  box-sizing: border-box;
  margin: 14px 0;
  padding: 12px 14px;
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
  border-radius: 12px;
  font-weight: 600;
  line-height: 1.45;
  max-width: 100%;
}

#oe-kq-form-alert.oe-kq-form-alert[hidden] {
  display: none !important;
}

.oe-kq-form-alert__p {
  margin: 0 0 8px;
  font-size: 0.95rem;
}

.oe-kq-form-alert__p:last-child {
  margin-bottom: 0;
}

#oe-kq-form-alert.oe-kq-form-alert--success {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

#oe-kq-form-alert.oe-kq-form-alert--warn {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}

.oe-kq-card-error {
  box-sizing: border-box;
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid #fecaca;
  background: #fff1f2;
  color: #991b1b;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  max-width: 100%;
}

.oe-kq-card-error-title {
  margin: 0 0 6px;
  font-size: 13px;
}

.oe-kq-card-error-list {
  margin: 0;
  padding-left: 1.15rem;
  font-weight: 600;
}

.oe-kq-card-error-list li {
  margin: 2px 0;
}

.oe-tp-qcard.oe-tp-qcard--has-error {
  border-color: #fca5a5;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.12);
}
