/* Temalar: her biri yedi renk + şerit rengi. Yeni tema eklemek için bir blok kopyalayın ve cekirdek/temel.php içindeki listeye adını yazın. */
:root, [data-tema="kagit"] { --bg:#F6F7F9; --sf:#FFFFFF; --tx:#14181F; --mu:#525B6B; --ac:#1D4ED8; --oa:#FFFFFF; --ln:#D9DEE6; --bd:var(--ac); --ob:var(--oa); }
[data-tema="okul"] { --bg:#F4F6FB; --sf:#FFFFFF; --tx:#101B3A; --mu:#4D5878; --ac:#1E2F6F; --oa:#FFFFFF; --ln:#D5DBEC; }
[data-tema="antalya"] { --bg:#F1FAFB; --sf:#FFFFFF; --tx:#0B2A3A; --mu:#46626F; --ac:#C2410C; --oa:#FFFFFF; --ln:#C7E3E8; --bd:#0B4F8A; --ob:#FFFFFF; }
[data-tema="kaplan"] { --bg:#161616; --sf:#222222; --tx:#F4F4F2; --mu:#ABABA6; --ac:#E3B341; --oa:#1A1500; --ln:#363636; }
[data-tema="akdeniz"] { --bg:#F2F7F7; --sf:#FFFFFF; --tx:#0F2A2E; --mu:#48646A; --ac:#0B6E75; --oa:#FFFFFF; --ln:#CFE0E2; }
[data-tema="geceyolu"] { --bg:#0E1422; --sf:#172033; --tx:#EEF1F7; --mu:#A3AEC4; --ac:#F5A524; --oa:#1A1203; --ln:#2A3650; }
[data-tema="kum"] { --bg:#F7F5F0; --sf:#FFFFFF; --tx:#1F1B16; --mu:#5F574C; --ac:#8A5A00; --oa:#FFFFFF; --ln:#E2DCD0; }
[data-tema="cam"] { --bg:#F3F7F4; --sf:#FFFFFF; --tx:#12261C; --mu:#4A6155; --ac:#1B6B45; --oa:#FFFFFF; --ln:#D2E0D7; }
[data-tema="bordo"] { --bg:#F8F5F6; --sf:#FFFFFF; --tx:#26131A; --mu:#66515A; --ac:#8C1D40; --oa:#FFFFFF; --ln:#E5D8DD; }
[data-tema="gecemavisi"] { --bg:#0F172A; --sf:#1B2540; --tx:#F1F5F9; --mu:#A7B3C9; --ac:#60A5FA; --oa:#06182F; --ln:#2D3A5C; }
[data-tema="antrasit"] { --bg:#1B1D21; --sf:#26292F; --tx:#F2F3F5; --mu:#A9AEB8; --ac:#4FD1C5; --oa:#04201D; --ln:#3A3E47; }

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--tx); font: 17px/1.6 "Segoe UI", "Noto Sans", Ubuntu, "Helvetica Neue", sans-serif; }
h1, h2, .logo, .yk-baslik { font-family: "Trebuchet MS", "Segoe UI", "Noto Sans", sans-serif; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; text-wrap: balance; }
h1 { font-size: clamp(30px, 4.4vw, 48px); margin: 0 0 16px; }
h2 { font-size: 28px; margin: 0 0 16px; }
a { color: var(--ac); }
code, pre, .kod, .etiket, .serit { font-family: ui-monospace, "DejaVu Sans Mono", Consolas, monospace; }
.sar { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.soluk { color: var(--mu); }
.etiket { font-size: 13px; letter-spacing: 0.08em; color: var(--ac); text-transform: uppercase; }
.etiket a { text-decoration: none; }
.atla { position: absolute; left: -9999px; }
.atla:focus { left: 12px; top: 12px; background: var(--sf); padding: 12px; z-index: 9; }
:focus-visible { outline: 3px solid var(--ac); outline-offset: 2px; }

.ust { background: var(--sf); border-bottom: 1px solid var(--ln); }
.ust-ic { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 28px; padding-top: 10px; padding-bottom: 10px; }
.logo { font-size: 26px; color: var(--tx); text-decoration: none; padding: 8px 0; }
.ust nav { display: flex; flex-wrap: wrap; gap: 0 4px; }
.ust nav a { color: var(--tx); text-decoration: none; font-weight: 600; font-size: 15px; padding: 12px 10px; border-radius: 8px; }
.ust nav a:hover { background: var(--bg); }

.serit { background: var(--bd); color: var(--ob); overflow: hidden; white-space: nowrap; font-size: 14px; }
.serit-ic { display: inline-flex; animation: kay 45s linear infinite; }
.serit-ic > div { display: flex; }
.serit span { padding: 10px 28px; }
.serit:hover .serit-ic { animation-play-state: paused; }
@keyframes kay { to { transform: translateX(-50%); } }

.manset { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.manset-buyuk { flex: 999 1 520px; min-width: 0; position: relative; min-height: 420px; border-radius: 16px; overflow: hidden; background: var(--ln); display: flex; flex-direction: column; justify-content: flex-end; padding: 20px; }
.dilim { position: relative; background: var(--sf); border-radius: 12px; padding: 28px; max-width: 640px; }
.dilim h1 { margin: 10px 0; }
.oklar { position: absolute; top: 20px; right: 20px; display: flex; gap: 8px; }
.oklar button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--ln); background: var(--sf); color: var(--tx); font-size: 22px; line-height: 1; cursor: pointer; }
.manset-yan { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.manset-yan a { flex: 1; display: flex; flex-direction: column; gap: 6px; background: var(--sf); border: 1px solid var(--ln); border-radius: 12px; padding: 20px; color: var(--tx); text-decoration: none; font-size: 19px; line-height: 1.25; }
.manset-yan a:hover, .yk:hover { border-color: var(--ac); }

/* Antalya temasına özel: deniz ve yakamoz */
.deniz { display: none; }
[data-tema="antalya"] .deniz { display: block; position: absolute; inset: 0; background: linear-gradient(180deg, #0B4F8A 0%, #0E7FA8 45%, #19B5B0 100%); }
[data-tema="antalya"] .deniz::before, [data-tema="antalya"] .deniz::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(ellipse 14px 2px at center, rgba(255, 226, 170, .95), transparent 70%); background-size: 90px 34px; animation: yaka 3.2s ease-in-out infinite alternate; }
[data-tema="antalya"] .deniz::after { background-size: 130px 52px; background-position: 40px 20px; animation-duration: 4.7s; animation-delay: -2s; }
@keyframes yaka { from { opacity: .15; transform: translateX(-6px); } to { opacity: .9; transform: translateX(6px); } }
@media (prefers-reduced-motion: reduce) { .serit-ic, .deniz::before, .deniz::after { animation: none !important; } }

.bolum { margin: 56px 0; }
.izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.yk { display: flex; flex-direction: column; background: var(--sf); border: 1px solid var(--ln); border-radius: 12px; overflow: hidden; color: var(--tx); text-decoration: none; }
.yk-gorsel { height: 120px; background: var(--ln); color: var(--mu); display: flex; align-items: center; justify-content: center; font-size: 56px; font-weight: 800; }
.yk-ic { display: flex; flex-direction: column; gap: 8px; padding: 20px; font-size: 15px; }
.yk-baslik { font-size: 21px; }
.akademi-bant { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; background: var(--sf); border: 1px solid var(--ln); border-radius: 16px; padding: 36px; margin: 56px 0; }
.akademi-bant > div { flex: 1 1 420px; }
.akademi-bant h2 { margin: 8px 0; }

.yazi { max-width: 760px; margin: 40px auto; }
.yazi h2 { margin-top: 36px; }
.yazi pre { background: var(--sf); border: 1px solid var(--ln); border-radius: 8px; padding: 14px 16px; overflow-x: auto; font-size: 15px; line-height: 1.5; }
.yazi p code { background: var(--sf); border: 1px solid var(--ln); border-radius: 4px; padding: 1px 5px; font-size: .9em; }
.yorumlar { max-width: 760px; margin: 56px auto; }
.yorum { border-top: 1px solid var(--ln); padding: 16px 0; }
.yorum p { margin: 6px 0 0; }
.cevap { margin: 12px 0 0 20px; padding: 12px 16px; background: var(--sf); border-radius: 8px; }
.bal { position: absolute !important; left: -9999px; }

.kart { background: var(--sf); border: 1px solid var(--ln); border-radius: 12px; padding: 24px; margin: 16px 0; display: block; color: var(--tx); text-decoration: none; }
.form { display: flex; flex-direction: column; gap: 16px; }
.form label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 15px; }
.form small { font-weight: 400; color: var(--mu); }
input, select, textarea { font: inherit; color: var(--tx); background: var(--bg); border: 1px solid var(--mu); border-radius: 8px; padding: 10px 12px; min-height: 44px; width: 100%; }
textarea.kod { font-size: 15px; line-height: 1.5; }
.onay { flex-direction: row !important; align-items: center; gap: 10px !important; }
.onay input, .tema-sec input { width: 20px; min-height: 20px; height: 20px; }
.yanyana { display: flex; flex-wrap: wrap; gap: 16px; }
.yanyana > * { flex: 1 1 220px; }
button, .dugme { font: inherit; font-weight: 600; min-height: 44px; padding: 0 18px; border-radius: 8px; border: 1px solid var(--mu); background: var(--sf); color: var(--tx); cursor: pointer; display: inline-flex; align-items: center; text-decoration: none; }
.ana { background: var(--ac); color: var(--oa); border-color: var(--ac); }
.panel .ana { background: #1B6B45; border-color: #1B6B45; color: #FFFFFF; }
.tehlike { color: #8A1C10; }
.dugmeler { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.dugmeler.sol { justify-content: flex-start; }
.uyari, .bilgi { border-radius: 8px; padding: 12px 16px; border: 2px solid #B4410A; background: var(--sf); }
.bilgi { border-color: #1B6B45; }

.alt { background: var(--sf); border-top: 1px solid var(--ln); margin-top: 64px; }
.alt-ic { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; padding-top: 28px; padding-bottom: 28px; font-size: 15px; color: var(--mu); }
.alt-ic span { flex: 1 1 240px; }
.alt-ic strong { color: var(--tx); font-size: 19px; }

/* Panel */
.dar { max-width: 560px; margin: 48px auto; padding: 0 20px; }
.pbant { position: sticky; top: 0; z-index: 5; background: #101B3A; color: #E8ECF7; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; padding: 8px 20px; font-size: 15px; }
.pbant strong { margin-right: 16px; font-size: 18px; }
.pbant a { color: #E8ECF7; text-decoration: none; padding: 12px; border-radius: 8px; font-weight: 600; }
.pbant a[aria-current] { background: #F5A524; color: #1A1203; }
.pbant .bosluk { flex: 1; }
.pbant button { background: transparent; color: #E8ECF7; border-color: #7C89AB; }
.pbaslik { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 28px 0 8px; }
.pbaslik h1 { margin: 0; font-size: 32px; }
.sayi { display: block; font-size: 40px; line-height: 1.1; }
.tablo-kutu { overflow-x: auto; background: var(--sf); border: 1px solid var(--ln); border-radius: 12px; }
table { border-collapse: collapse; width: 100%; font-size: 15px; }
th, td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--ln); vertical-align: middle; }
.tek { display: inline-flex; gap: 8px; margin: 0; }
.satir { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 14px; margin: 8px 0; }
.satir .buyur { flex: 1 1 280px; }
.satir.gizli { opacity: .65; }
.supheli { border: 2px solid #B4410A; }
.yorum-kart .govde { overflow-wrap: anywhere; }
.temalar { display: flex; flex-wrap: wrap; gap: 10px; }
.tema-sec { flex-direction: row !important; align-items: center; gap: 8px !important; background: var(--bg); color: var(--tx); border: 1px solid var(--mu); border-bottom: 6px solid var(--ac); border-radius: 8px; padding: 10px 14px; cursor: pointer; }
