/* ═══════════════════════════════════════════════════════════════
   whitemodz — DURUM IV  (status.html; wm-status.css ve wm-site4.css'ten sonra)

   Hero: solda başlık + dört durumun anlamı, sağda status.js'in çizdiği
   halka göstergeli karar kartı (her durum için bir yay, ortada temiz
   oranı, canlı nabız). Altında yapışkan arama + filtre şeridi, oyun
   panoları (dış halka çerçeveli), son değişiklikler yan sütunu ve iki
   eylem kartı. Durum sayfası sayı gösterebilir (anasayfa gösteremez).
   status.js id/sınıf sözleşmesi korunur; burada yalnız görünüm var.
   ═══════════════════════════════════════════════════════════════ */

:root{ --st4-top: 65px; }

/* ═══ 1 · Hero düzeni ═══════════════════════════════════════════ */
.st4-hero .s4-hero__in{
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  grid-template-areas: "copy visual" "keys visual";
  grid-template-rows: auto 1fr; align-items: start; row-gap: 32px;
}
.st4-hero .s4-hero__copy{ grid-area: copy; }
.st4-visual{ grid-area: visual; align-self: center; }
.st4-keys{ grid-area: keys; min-width: 0; }
/* Takip edilen ürün yoksa özet boş kalır: tek sütuna dön. */
.st4-hero .s4-hero__in:has(#statusSummary:empty){ grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "keys"; }
.st4-hero .s4-hero__in:has(#statusSummary:empty) .st4-visual{ display: none; }

/* Durumların anlamı: halkadaki renklerin lejantı */
.st4-keys__t{ margin: 0 0 12px; color: var(--wm-g-dim); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.st4-keys__list{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.st4-key{
  display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px 14px 14px; border-radius: 16px;
  background: rgba(255,255,255,.022); border: 1px solid var(--wm-line);
}
.st4-key .sb-mark{ width: 30px; height: 30px; }
.st4-key .sb-mark svg{ width: 14px; height: 14px; }
.st4-key__txt{ display: flex; flex-direction: column; gap: 4px; min-width: 0; padding-top: 2px; }
.st4-key__txt b{ color: var(--wm-w); font-size: 13.5px; font-weight: 800; line-height: 1.3; }
.st4-key__txt small{ color: var(--wm-g); font-size: 12.5px; line-height: 1.5; }
html:not(.wm-i18n-pending) .st4-keys{ animation: s4-up 760ms var(--wm-ease-out) 260ms both; }

/* ═══ 2 · Karar kartı (halka gösterge) ══════════════════════════ */
.st4-visual .status-summary{
  width: min(100%, 452px); margin-inline: auto; padding: 7px; border-radius: 36px;
  background: var(--s4-shell); border: 1px solid var(--s4-shell-line);
  transform: translate3d(calc(var(--px, 0) * -8px), calc(var(--py, 0) * -6px), 0);
  transition: transform 700ms var(--wm-ease-out);
}
.st4-visual .status-summary:empty{ display: none; }
.st4-visual .status-hero.st4-verdict{
  position: relative; isolation: isolate; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center;
  padding: 34px 28px 26px; border-radius: 29px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.01) 60%), var(--wm-k-raise);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 0 0 1px rgba(0,0,0,.6), 0 40px 90px -34px rgba(0,0,0,.95);
}
/* Durum tonunda yumuşak ışık halkanın arkasında (tonu .sh-ok/.sh-warn/.sh-bad verir) */
.st4-verdict::before{
  content: ""; position: absolute; z-index: -1; left: 50%; top: 4px; width: 340px; height: 340px; transform: translateX(-50%);
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in oklab, var(--wm-st) 20%, transparent), transparent);
}
.st4-verdict::after{  /* ince nokta dokusu, ana sayfa hero'suyla aynı dil */
  content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(255,255,255,.07) 1px, transparent 1.5px); background-size: 18px 18px;
  -webkit-mask-image: radial-gradient(260px 200px at 50% 0%, #000, transparent 75%);
          mask-image: radial-gradient(260px 200px at 50% 0%, #000, transparent 75%);
}

.st4-ring{ position: relative; width: 236px; aspect-ratio: 1; display: grid; place-items: center; flex: none; }
.st4-ring__svg{ position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; transform: rotate(-90deg); }
.st4-ring__ticks{ fill: none; stroke: rgba(255,255,255,.15); stroke-width: 3; stroke-dasharray: .18 .82; }
.st4-ring__track{ fill: none; stroke: rgba(255,255,255,.06); stroke-width: 8; }
.st4-ring__arc{ fill: none; stroke-width: 8; stroke-linecap: round; }
.st4-arc--undetected{ stroke: var(--wm-ok); filter: drop-shadow(0 0 5px color-mix(in oklab, var(--wm-ok) 60%, transparent)); }
.st4-arc--updating{ stroke: color-mix(in oklab, var(--wm-warn) 58%, transparent); }
.st4-arc--risk{ stroke: var(--wm-warn); }
.st4-arc--detected{ stroke: var(--wm-bad); filter: drop-shadow(0 0 5px color-mix(in oklab, var(--wm-bad) 60%, transparent)); }
/* İlk çizim bir kez; 2 dakikalık yenilemeler tekrar oynatmaz (data-drawn). */
.status-summary:not([data-drawn]) .st4-ring__arc{ animation: st4-draw 1400ms var(--wm-ease-out) 250ms both; }
@keyframes st4-draw{ from{ stroke-dasharray: 0 100; } }

.st4-ring__c{ position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.st4-verdict .sh-ratio{
  display: flex; align-items: baseline; gap: 2px; color: var(--wm-w);
  font-family: var(--wm-display); font-size: 66px; line-height: .86; font-weight: 850;
  font-variation-settings: "wdth" 112, "wght" 850; letter-spacing: -.045em; text-transform: none; font-variant-numeric: tabular-nums;
}
.st4-verdict .sh-ratio small{ color: var(--wm-g-dim); font-size: 24px; letter-spacing: -.02em; font-variation-settings: "wdth" 104, "wght" 700; }
.st4-verdict .sh-score-label{ max-width: 17ch; color: var(--wm-g); font-size: 10.5px; line-height: 1.45; letter-spacing: .12em; }

.st4-verdict .sh-main{ justify-content: center; gap: 12px; max-width: 34ch; }
.st4-verdict .sh-orb{ width: 36px; height: 36px; border-radius: 50%; }
.st4-verdict .sh-orb svg{ width: 16px; height: 16px; }
.st4-verdict .sh-text{ text-align: left; }
.st4-verdict .sh-text > b{ font-size: 16.5px; line-height: 1.35; text-wrap: balance; }
.st4-verdict .sh-side{ flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: center; align-self: center; gap: 8px 12px; }
.st4-verdict .sh-live{ height: 32px; padding: 0 13px; background: rgba(0,0,0,.35); }
.st4-verdict .sh-when{ padding: 0; font-size: 10.5px; }

/* ═══ 3 · Yapışkan arama + filtre şeridi ════════════════════════ */
.st4-bar{
  position: sticky; top: var(--st4-top); z-index: 30;
  background: rgba(10,10,10,.96); border-bottom: 1px solid var(--wm-line);
}
.st4-bar .status-controls{ margin: 0; padding: 12px 0; background: none; border: 0; border-radius: 0; box-shadow: none; gap: 10px 16px; }
.st4-bar .sc-search{ flex: 1 1 280px; max-width: 420px; }
.st4-bar .sc-search input{
  height: 46px; min-height: 46px; padding: 0 44px 0 44px; border-radius: var(--wm-r-pill);
  background: var(--wm-k-sink); border: 1px solid var(--wm-line-2); box-shadow: inset 0 1px 2px rgba(0,0,0,.35);
  font-size: 14px; font-weight: 600;
}
.st4-bar .sc-search input:focus{ border-color: var(--wm-y); box-shadow: inset 0 1px 2px rgba(0,0,0,.35), var(--wm-ring); outline: 0; }
.st4-bar .sc-search > svg{ left: 17px; }
.st4-bar .sc-kbd{ right: 12px; border-radius: 8px; background: none; }
.st4-bar .sc-clear{ right: 8px; border-radius: 50%; }
.st4-bar .sc-filters{ gap: 8px; }
.st4-bar .sc-chip{
  height: 40px; padding: 0 6px 0 14px; gap: 9px; border-radius: var(--wm-r-pill);
  background: rgba(255,255,255,.03); border: 1px solid var(--wm-line-2); color: var(--wm-g);
  font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none;
  transition: background var(--wm-dur-2) var(--wm-ease-out), color var(--wm-dur-2) var(--wm-ease-out), border-color var(--wm-dur-2) var(--wm-ease-out);
}
.st4-bar .sc-chip:hover:not(:disabled){ color: var(--wm-w); background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); }
.st4-bar .sc-chip.is-active, .st4-bar .sc-chip.is-active:hover{
  color: var(--wm-w); background: rgba(255,255,255,.075); border-color: rgba(255,255,255,.24); box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.st4-bar .sc-num{ min-width: 28px; height: 28px; padding: 0 8px; background: rgba(255,255,255,.06); font-size: 12px; }
.st4-bar .sc-chip.is-active .sc-num{ background: var(--wm-y); color: var(--wm-on-y); }
.st4-bar .sc-chip .st-dot{ width: 8px; height: 8px; }

/* ═══ 4 · Pano ══════════════════════════════════════════════════ */
.st4-main{ padding: clamp(30px, 3.6vw, 48px) 0 clamp(64px, 7vw, 104px); }
.st4-main .wm-status-body{ gap: 28px; }
.st4-main .status-board{ gap: 24px; }
.st4-main .sb-group{
  border-radius: 20px; border: 1px solid rgba(255,255,255,.075);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0) 120px), var(--wm-k-raise);
  box-shadow: 0 0 0 5px rgba(255,255,255,.022), 0 0 0 6px rgba(255,255,255,.05), var(--wm-e2);
  scroll-margin-top: calc(var(--st4-top) + 90px);
}
.st4-main .sb-head{ grid-template-columns: 54px minmax(0, 1fr) auto; gap: 16px; padding: 16px 18px; background: none; }
.st4-main .sb-thumb{ width: 54px; height: 54px; border-radius: 15px; border-color: rgba(255,255,255,.1); box-shadow: 0 10px 24px -10px rgba(0,0,0,.8); }
.st4-main .sb-thumb img{ filter: none; }
.st4-main .sb-title{
  font-size: 21px; line-height: 1.12; font-weight: 800; font-variation-settings: "wdth" 108, "wght" 800; letter-spacing: -.02em; text-transform: none;
}
.st4-main .sb-sub{ margin-top: 5px; font-size: 12.5px; font-weight: 600; letter-spacing: 0; text-transform: none; }
/* Oyunun ürünlerine hayalet hap (eski "%N tespit edilmiyor" ölçeğinin yeri;
   sahibin isteğiyle kategori yüzdesi gösterilmez) */
.st4-main .sb-shop{
  grid-area: gauge; justify-self: end; display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
  height: 38px; padding: 0 12px 0 16px; border-radius: var(--wm-r-pill); text-decoration: none; white-space: nowrap;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
  color: var(--wm-w); font-size: 13px; font-weight: 700;
  transition: border-color var(--wm-dur-2) var(--wm-ease-out), background var(--wm-dur-2) var(--wm-ease-out);
}
.st4-main .sb-shop span{ min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.st4-main .sb-shop svg{ width: 15px; height: 15px; flex: none; color: var(--wm-y); transition: transform var(--wm-dur-2) var(--wm-ease-out); }
.st4-main .sb-shop:hover{ border-color: var(--wm-y-line); background: rgba(255,199,0,.06); }
.st4-main .sb-shop:hover svg{ transform: translateX(3px); }
.st4-main .sb-shop:focus-visible{ outline: 2px solid var(--wm-y); outline-offset: 2px; }
@container sb-group (max-width: 460px){
  .st4-main .sb-shop{ justify-self: start; height: 34px; font-size: 12.5px; }
}

.st4-main .sb-tile{ grid-template-columns: 46px minmax(0, 1fr) auto; gap: 14px; min-height: 76px; padding: 13px 18px; }
.st4-main .sb-tile:hover{ background: rgba(255,255,255,.035); }
.st4-main .sb-art{ width: 46px; height: 46px; }
.st4-main .sb-art-box{ border-radius: 12px; border-color: rgba(255,255,255,.09); }
.st4-main .sb-art-box img{ filter: none; transition: transform 600ms var(--wm-ease-out); }
.st4-main .sb-tile:hover .sb-art-box img{ transform: scale(1.07); }
.st4-main .sb-art .sb-mark{ right: -5px; bottom: -5px; width: 20px; height: 20px; }
.st4-main .sb-info b{ font-size: 14.5px; font-weight: 700; }
.st4-main .sb-info small{ font-size: 12px; }
.st4-main .sb-meta .status-pill{ height: 26px; padding: 0 10px; border-radius: var(--wm-r-pill); font-size: 10.5px; letter-spacing: .08em; }
.st4-main .sb-note{ font-size: 10.5px; }

/* Son değişiklikler: geniş ekranda yan sütunda yapışkan kart */
.st4-main .status-changes{
  padding: 22px 8px 10px; border-radius: 22px; background: var(--wm-k-raise); border: 1px solid rgba(255,255,255,.075);
  box-shadow: 0 0 0 5px rgba(255,255,255,.022), 0 0 0 6px rgba(255,255,255,.05), var(--wm-e2);
}
.st4-main .status-changes > h2{ padding: 0 12px; font-size: 22px; text-transform: none; font-variation-settings: "wdth" 108, "wght" 800; letter-spacing: -.02em; }
.st4-main .sch-lead{ margin: 6px 0 10px; padding: 0 12px; font-size: 13px; }
.st4-main .sch-list{ padding: 4px 0 0; background: none; border: 0; box-shadow: none; }
.st4-main .sch-item{ border-radius: 12px; padding: 10px 12px; }
.st4-main .sch-list li:not(:last-child) .sch-item::before{ left: 25px; }
.st4-main .sch-item:hover{ background: rgba(255,255,255,.04); }
@media (min-width: 1180px){
  .st4-main #statusChanges{ position: sticky; top: calc(var(--st4-top) + 92px); }
}

/* Boş durumlar */
.st4-main .status-empty{ border-radius: 24px; border: 1px dashed var(--wm-line-2); background: rgba(255,255,255,.015); box-shadow: none; }
.st4-main .status-empty-icon{ border-radius: 50%; }
.st4-main .status-empty h3{ font-size: 24px; text-transform: none; font-variation-settings: "wdth" 108, "wght" 800; letter-spacing: -.02em; }

/* ═══ 5 · Eylem kartları + not ══════════════════════════════════ */
.st4-foot.status-foot{
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px;
  margin-top: clamp(44px, 5vw, 68px); padding-top: 0; border-top: 0;
}
.st4-foot .st4-act{
  display: flex; align-items: center; gap: 16px; min-height: 84px; padding: 16px 22px 16px 16px; border-radius: 22px;
  color: var(--wm-w); font-size: 15px; font-weight: 700; line-height: 1.4; text-decoration: none;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)), var(--wm-k-raise);
  border: 1px solid rgba(255,255,255,.075); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), var(--wm-e1);
  transition: border-color var(--wm-dur-2) var(--wm-ease-out), transform var(--wm-dur-2) var(--wm-ease-spring);
}
.st4-foot .st4-act:hover{ color: var(--wm-w); border-color: rgba(255,255,255,.16); transform: translateY(-2px); }
.st4-act__ic{
  width: 48px; height: 48px; flex: none; display: grid; place-items: center; border-radius: 50%;
  background: var(--wm-y-soft); color: var(--wm-y); border: 1px solid var(--wm-y-line);
  transition: background var(--wm-dur-2) var(--wm-ease-out), color var(--wm-dur-2) var(--wm-ease-out);
}
.st4-act__ic svg{ width: 19px; height: 19px; }
.st4-foot .st4-act:hover .st4-act__ic{ background: var(--wm-y); color: var(--wm-on-y); }
.st4-foot .st4-foot__note{ grid-column: 1 / -1; display: block; margin: 8px 0 0; color: var(--wm-g); font-size: 13.5px; line-height: 1.65; text-align: center; }
.st4-foot .st4-foot__note > span{ display: inline; }

/* ═══ 6 · Duyarlı ═══════════════════════════════════════════════ */
@media (max-width: 1180px){ .st4-keys__list{ grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 980px){
  .st4-hero .s4-hero__in{ grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "visual" "keys"; grid-template-rows: auto; row-gap: 28px; }
  .st4-visual{ max-width: none; }
  .st4-keys__list{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px){
  .st4-bar{ position: static; }
  .st4-bar .sc-search{ flex-basis: 100%; max-width: none; }
  .st4-bar .sc-filters{ flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--wm-gut) * -1); padding-inline: var(--wm-gut); width: calc(100% + var(--wm-gut) * 2); }
  .st4-bar .sc-filters::-webkit-scrollbar{ display: none; }
  .st4-bar .sc-chip{ flex: none; }
  .st4-foot.status-foot{ grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px){
  /* Telefonda lejant yatay kaydırılan bir şerit: pano ekrandan aşağı itilmesin. */
  .st4-keys__list{
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(var(--wm-gut) * -1); padding: 0 var(--wm-gut) 4px; scroll-padding-inline: var(--wm-gut);
  }
  .st4-keys__list::-webkit-scrollbar{ display: none; }
  .st4-key{ flex: 0 0 min(78%, 300px); scroll-snap-align: start; }
  .st4-ring{ width: 204px; }
  .st4-verdict .sh-ratio{ font-size: 56px; }
  .st4-visual .status-hero.st4-verdict{ padding: 28px 18px 22px; }
  .st4-main .sb-head{ grid-template-columns: 46px minmax(0, 1fr); }
  .st4-main .sb-thumb{ width: 46px; height: 46px; }
  .st4-main .sb-tile{ padding: 12px 14px; }
  .st4-foot .st4-foot__note{ text-align: left; }
}

/* ═══ 7 · Hareket hassasiyeti ═══════════════════════════════════ */
@media (prefers-reduced-motion: reduce){
  .status-summary:not([data-drawn]) .st4-ring__arc, html:not(.wm-i18n-pending) .st4-keys{ animation: none; }
  .st4-visual .status-summary{ transform: none; transition: none; }
  .st4-foot .st4-act, .st4-main .sb-art-box img{ transition: none; }
  .st4-foot .st4-act:hover, .st4-main .sb-tile:hover .sb-art-box img{ transform: none; }
}
