/* JetOyun ortak stiller */
[hidden] { display: none !important; }
body { background: linear-gradient(#e8f3ff, #dcebfb 900px, #e4efff); }
.no-scrollbar::-webkit-scrollbar { display: none; } .no-scrollbar { scrollbar-width: none; }
.cloud { position: absolute; overflow: visible; }
.drift { animation: drift var(--d, 40s) ease-in-out infinite alternate; }
@keyframes drift { to { transform: translateX(var(--dx, 60px)); } }
.twinkle { animation: twinkle 2.4s ease-in-out infinite; transform-origin: center; }
@keyframes twinkle { 0%,100% { opacity: .2; transform: scale(.6) rotate(0deg); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }
.spin-slow { animation: spin 90s linear infinite; }
@keyframes spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.wave { animation: wave linear infinite; }
@keyframes wave { to { transform: translateX(-50%); } }
.bubble { position: absolute; bottom: -20px; border-radius: 9999px; background: rgba(255,255,255,.18); box-shadow: inset -2px -2px 0 rgba(255,255,255,.25); animation: rise linear infinite; }
@keyframes rise { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translateY(-420px) translateX(12px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .drift, .twinkle, .spin-slow, .wave, .bubble { animation: none; } }

/* Hover alternatifi: butonlarda soldan sağa geçen ışık parlaması (öğe yerinden oynamaz) */
.shine { position: relative; overflow: hidden; isolation: isolate; }
.shine::after { content: ""; position: absolute; inset: -20% auto -20% -60%; width: 45%; z-index: -1;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.65), transparent); transform: skewX(-20deg); transition: left .6s ease; pointer-events: none; }
.shine:hover::after, .shine:focus-visible::after { left: 130%; }
@media (prefers-reduced-motion: reduce) { .shine::after { display: none; } }

/* Şablon ortakları (Tailwind CDN @apply desteklemediği için düz CSS) */
.panel { border-radius: 1.5rem; background: #fff; padding: 1rem; box-shadow: 0 5px 0 rgba(20,90,170,.14), 0 16px 30px -14px rgba(19,31,69,.40), 0 0 0 4px rgba(255,255,255,.6); }
@media (min-width: 640px) { .panel { padding: 1.25rem; } }
.sun-btn { border: 2px solid #f0a000; background: linear-gradient(#ffe066, #ffcf33, #ffb800); color: #6b3a00; box-shadow: inset 0 2px 0 rgba(255,255,255,.6), 0 3px 0 #d98a00; transition: filter .15s; }
.sun-btn:hover { filter: brightness(1.05); }
.chip { border-radius: .75rem; border: 2px solid #f5c842; background: #fff8db; padding: .25rem .75rem; font-size: .875rem; font-weight: 800; color: #6b3a00; box-shadow: 0 2px 0 #e8b000; }
.chip:hover { background: #ffefad; }
/* Editörün admin'den girdiği HTML içindeki linkler */
.icerik a { font-weight: 800; color: #0284c7; } .icerik a:hover { color: #0369a1; text-decoration: underline; }

/* ---------- Mobil (app hissi) ---------- */
html { -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%; }
a, button, summary, label { touch-action: manipulation; }
/* Menü/arama açıkken arkadaki sayfa kaymasın */
html:has(dialog[open]) { overflow: hidden; }
dialog.cekmece, dialog.arama-panel { margin: 0; padding: 0; border: 0; max-width: none; max-height: none; background: transparent; overflow: visible; }
dialog.cekmece { height: 100dvh; width: min(86vw, 340px); box-shadow: 12px 0 40px rgba(12,20,48,.35); }
dialog.arama-panel { width: 100%; }
dialog.cekmece::backdrop, dialog.arama-panel::backdrop { background: rgba(12,20,48,.45); backdrop-filter: blur(2px); }
dialog.cekmece[open] { animation: soldan .25s cubic-bezier(.2,.8,.2,1); }
dialog.arama-panel[open] { animation: yukaridan .22s cubic-bezier(.2,.8,.2,1); }
dialog[open]::backdrop { animation: sis .25s ease; }
dialog.kapaniyor.cekmece { animation: soldan .2s ease-in reverse forwards; }
dialog.kapaniyor.arama-panel { animation: yukaridan .18s ease-in reverse forwards; }
dialog.kapaniyor::backdrop { animation: sis .2s ease-in reverse forwards; }
@keyframes soldan { from { transform: translateX(-100%); } }
@keyframes yukaridan { from { transform: translateY(-100%); } }
@keyframes sis { from { opacity: 0; } }

/* Oyun oynatıcı (mobil tam ekran katmanı) */
.oynatici { position: fixed; inset: 0; z-index: 100; background: #000; height: 100dvh; overscroll-behavior: none; }
.oynatici iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
html.oyunda, html.oyunda body { overflow: hidden; overscroll-behavior: none; }
@keyframes cevir { 0%, 20% { transform: rotate(0); } 55%, 80% { transform: rotate(-90deg); } 100% { transform: rotate(0); } }
.cevir { animation: cevir 2.4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { dialog[open], dialog[open]::backdrop, dialog.kapaniyor, .cevir { animation: none !important; } }
