/* Ders Danışmanın — zermisa tasarım dili (krem / espresso / bakır) */
/* Yazı tipi (geçici): General Sans, yoksa Avenir Next / Helvetica Neue */
@font-face{font-family:'General Sans'; src:url('/assets/fonts/general-sans-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap;}
@font-face{font-family:'General Sans'; src:url('/assets/fonts/general-sans-400-italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap;}
@font-face{font-family:'General Sans'; src:url('/assets/fonts/general-sans-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap;}
@font-face{font-family:'General Sans'; src:url('/assets/fonts/general-sans-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap;}
@font-face{font-family:'General Sans'; src:url('/assets/fonts/general-sans-700.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap;}
:root{
  --bg:#F6F1EA; --bg-2:#EFE7DC; --paper:#FFFDF9; --line:#E2D6C6;
  --ink:#1D1814; --ink-2:#5E5249; --ink-3:#8C7E72;
  --copper:#9E5534; --copper-2:#C47A55; --copper-soft:#F1DDD0; --espresso:#2A1F1A;
  --ok:#3F7A4F; --ok-soft:#DCEBDF; --uyari:#B4532A;
  --radius:16px; --radius-sm:10px;
  --serif:'General Sans', 'Avenir Next', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --sans:'General Sans', 'Avenir Next', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:15.5px; line-height:1.5; -webkit-font-smoothing:antialiased;}
button, input, select, textarea{font:inherit; color:inherit;}
a{color:var(--copper);}
:focus-visible{outline:2px solid var(--copper); outline-offset:2px; border-radius:6px;}
h1,h2,h3{font-weight:400; margin:0; line-height:1.1;}
.serif{font-family:var(--serif);}
.muted{color:var(--ink-2);}
.soluk{color:var(--ink-3);}
.kucuk{font-size:.85rem;}
.yukleniyor{padding:40px; text-align:center; color:var(--ink-3);}

/* düzen */
.kabuk{max-width:1180px; margin:0 auto; padding:18px 18px 60px;}
.ust{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px;}
.ust h1{font-family:var(--serif); font-size:1.9rem;}
.ust h1 em{color:var(--copper);}
.ust-sag{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.sekmeler{display:flex; gap:4px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:20px; overflow-x:auto;}
.sekmeler button{background:none; border:0; border-bottom:2px solid transparent; padding:10px 14px; font-weight:600; color:var(--ink-2); cursor:pointer; white-space:nowrap;}
.sekmeler button[aria-selected="true"]{color:var(--ink); border-color:var(--copper);}
.sekmeler .rozet{background:var(--copper); color:#fff; border-radius:999px; font-size:.7rem; padding:1px 7px; margin-left:4px;}
.izgara{display:grid; gap:16px;}
.iki{grid-template-columns:1.3fr 1fr;}
.uc{grid-template-columns:repeat(3, 1fr);}
@media (max-width:860px){ .iki, .uc{grid-template-columns:1fr;} }

.kart{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:20px;}
.kart h2{font-family:var(--serif); font-size:1.5rem; margin-bottom:12px;}
.kart h3{font-size:1rem; font-weight:600; margin-bottom:8px;}
.kart + .kart{margin-top:16px;}
.izgara > .kart + .kart{margin-top:0;}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:600; font-size:.9rem; padding:10px 18px; border-radius:999px; border:1px solid var(--ink); background:var(--ink); color:var(--bg); cursor:pointer; text-decoration:none; transition:background .2s, border-color .2s, color .2s;}
.btn:hover{background:var(--copper); border-color:var(--copper);}
.btn.hayalet{background:transparent; color:var(--ink);}
.btn.hayalet:hover{background:var(--ink); color:var(--bg);}
.btn.mini{padding:6px 12px; font-size:.8rem;}
.btn.bakir{background:var(--copper); border-color:var(--copper);}
.btn.yesil{background:var(--ok); border-color:var(--ok); color:#fff;}
.btn:disabled{opacity:.5; cursor:default;}
.metin-btn{background:none; border:0; color:var(--copper); cursor:pointer; font-weight:600; padding:0;}
.sil-btn{background:none; border:0; color:var(--ink-3); cursor:pointer; font-size:1.1rem; padding:2px 6px;}
.sil-btn:hover{color:var(--uyari);}

.etiket{display:inline-flex; align-items:center; font-size:.72rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; padding:3px 9px; border-radius:999px; background:var(--bg-2); color:var(--ink-2);}
.etiket.bakir{background:var(--copper-soft); color:var(--copper);}
.etiket.yesil{background:var(--ok-soft); color:var(--ok);}

/* form */
.alan{display:flex; flex-direction:column; gap:5px; margin-bottom:12px;}
.alan label, .alan > span{font-size:.82rem; font-weight:600; color:var(--ink-2);}
input, select, textarea{border:1px solid var(--line); background:#fff; border-radius:var(--radius-sm); padding:9px 12px; width:100%;}
input:focus, select:focus, textarea:focus{outline:2px solid var(--copper-2); outline-offset:0;}
.satir{display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end;}
.satir > .alan{flex:1; min-width:120px;}
.hata{background:#FBE9E2; color:var(--uyari); border-radius:var(--radius-sm); padding:9px 12px; margin-bottom:12px; font-size:.9rem;}
.secim{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px;}
.secim label{border:1px solid var(--line); border-radius:var(--radius-sm); padding:12px; cursor:pointer; background:#fff; display:flex; gap:8px; align-items:flex-start;}
.secim label:has(input:checked){border-color:var(--copper); background:var(--copper-soft);}
.secim input{width:auto; margin-top:3px;}

/* giriş */
.giris-kutu{max-width:440px; margin:30px auto;}
.giris-kutu .kart{padding:28px;}
.giris-baslik{text-align:center; margin-bottom:18px;}
.giris-baslik h1{font-family:var(--serif); font-size:2.3rem;}
.giris-baslik h1 em{color:var(--copper);}

/* söz kutusu */
.soz{background:var(--espresso); color:#F6F1EA; border-radius:var(--radius); padding:22px 24px; position:relative; overflow:hidden;}
.soz::after{content:"“"; position:absolute; right:14px; top:-24px; font-family:var(--serif); font-size:9rem; color:rgba(196,122,85,.25);}
.soz p{font-family:var(--serif); font-size:1.45rem; line-height:1.25; margin:0; position:relative;}
.soz small{display:block; margin-top:10px; color:#CDBFB3; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;}

/* istatistik */
.sayilar{display:grid; grid-template-columns:repeat(4, 1fr); gap:12px;}
@media (max-width:700px){ .sayilar{grid-template-columns:repeat(2, 1fr);} }
.sayi{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:14px 16px;}
.sayi b{display:block; font-family:var(--serif); font-size:2rem; font-weight:400; line-height:1;}
.sayi span{font-size:.8rem; color:var(--ink-2);}

/* plan blokları */
.blok{border:1px solid var(--line); border-radius:var(--radius-sm); padding:12px 14px; background:#fff; display:flex; gap:12px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap;}
.blok + .blok{margin-top:8px;}
.blok.bitti{background:var(--ok-soft); border-color:#BFD9C5;}
.blok-bas{display:flex; gap:8px; align-items:center; flex-wrap:wrap;}
.blok-bas strong{font-size:1rem;}
.blok-video{margin-top:6px; font-size:.86rem; color:var(--ink-2);}
.blok-video b{color:var(--ink);}
.blok-islem{display:flex; gap:6px; flex-wrap:wrap; align-items:center;}
.blok form{width:100%; margin-top:8px;}

/* haftalık program */
.hafta{display:grid; grid-template-columns:repeat(7, minmax(150px, 1fr)); gap:10px; overflow-x:auto; padding-bottom:6px;}
.gun{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:12px; min-height:180px; display:flex; flex-direction:column; gap:6px;}
.gun.bugun{border-color:var(--copper); box-shadow:0 0 0 1px var(--copper);}
.gun-bas{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px;}
.gun-bas b{font-family:var(--serif); font-size:1.25rem; font-weight:400;}
.gun-bas span{font-size:.75rem; color:var(--ink-3);}
.pblok{background:var(--bg); border-radius:8px; padding:7px 9px; font-size:.82rem; position:relative; border-left:3px solid var(--copper-2);}
.pblok.soru{border-left-color:var(--ok);}
.pblok.tekrar{border-left-color:#8C7E72;}
.pblok.deneme{border-left-color:var(--espresso);}
.pblok b{display:block; font-size:.86rem;}
.pblok .sil-btn{position:absolute; right:2px; top:2px; font-size:.95rem;}
.gun .ekle{margin-top:auto; background:none; border:1px dashed var(--line); border-radius:8px; padding:7px; color:var(--ink-2); cursor:pointer; font-size:.82rem;}
.gun .ekle:hover{border-color:var(--copper); color:var(--copper);}
.lejant{display:flex; gap:14px; flex-wrap:wrap; font-size:.8rem; color:var(--ink-2); margin-top:10px;}
.lejant i{display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px; vertical-align:-1px;}

/* ders ilerleme */
.ders-liste{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:12px;}
.ders{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:14px 16px; cursor:pointer; text-align:left; width:100%;}
.ders:hover{border-color:var(--copper-2);}
.ders-ust{display:flex; justify-content:space-between; gap:8px; align-items:baseline;}
.ders-ust b{font-size:1rem;}
.cubuk{height:7px; background:var(--bg-2); border-radius:99px; overflow:hidden; margin:10px 0 6px;}
.cubuk i{display:block; height:100%; background:linear-gradient(90deg, var(--copper), var(--copper-2)); border-radius:99px;}
.video-liste{list-style:none; margin:0; padding:0;}
.video-liste li{display:flex; gap:10px; align-items:center; padding:9px 4px; border-bottom:1px solid var(--line);}
.video-liste li.simdiki{background:var(--copper-soft); border-radius:8px; padding-left:8px;}
.video-liste input{width:18px; height:18px; flex:none; accent-color:var(--ok);}
.video-liste .no{font-family:var(--serif); font-size:1.1rem; color:var(--ink-3); width:28px; text-align:right; flex:none;}
.video-liste .ad{flex:1; font-size:.9rem;}
.video-liste .sure{font-size:.78rem; color:var(--ink-3); flex:none;}
.video-liste li.izlendi .ad{color:var(--ink-3); text-decoration:line-through;}

/* tablolar */
.tablo{width:100%; border-collapse:collapse; font-size:.9rem;}
.tablo th{text-align:left; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-3); font-weight:600; padding:8px 6px; border-bottom:1px solid var(--line);}
.tablo td{padding:9px 6px; border-bottom:1px solid var(--line); vertical-align:top;}
.tablo tr.tikla{cursor:pointer;}
.tablo tr.tikla:hover td{background:var(--bg);}
.tablo-kap{overflow-x:auto;}

/* mesajlar */
.mesaj{background:var(--copper-soft); border-radius:12px 12px 12px 4px; padding:10px 14px; position:relative;}
.mesaj + .mesaj{margin-top:8px;}
.mesaj small{display:block; color:var(--ink-3); font-size:.75rem; margin-top:4px;}
.mesaj.yeni{box-shadow:0 0 0 2px var(--copper);}
.hazir-sozler{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px;}
.hazir-sozler button{background:var(--bg); border:1px solid var(--line); border-radius:999px; padding:5px 11px; font-size:.78rem; cursor:pointer;}
.hazir-sozler button:hover{border-color:var(--copper);}
.kod{font-family:ui-monospace, Menlo, monospace; font-size:1.6rem; letter-spacing:.2em; background:var(--bg); border:1px dashed var(--copper-2); border-radius:10px; padding:8px 16px; display:inline-block;}

/* pencere (video, form) */
.pencere{position:fixed; inset:0; background:rgba(29,24,20,.6); display:flex; align-items:center; justify-content:center; padding:16px; z-index:100;}
.pencere[hidden]{display:none;}
.pencere-ic{background:var(--paper); border-radius:var(--radius); width:100%; max-width:860px; max-height:92vh; overflow:auto; padding:18px;}
.pencere-ic.dar{max-width:480px;}
.pencere-bas{display:flex; justify-content:space-between; gap:10px; align-items:flex-start; margin-bottom:12px;}
.pencere-bas h2{font-family:var(--serif); font-size:1.4rem;}
.kapat{background:none; border:0; font-size:1.6rem; line-height:1; cursor:pointer; color:var(--ink-2);}

.bildirim{position:fixed; bottom:18px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--espresso); color:#fff; padding:10px 18px; border-radius:999px; font-size:.9rem; opacity:0; pointer-events:none; transition:all .25s; z-index:200;}
.bildirim.goster{opacity:1; transform:translateX(-50%);}
.bos{color:var(--ink-3); font-size:.9rem; padding:8px 0;}
.grafik{width:100%; height:120px;}
.grafik polyline{fill:none; stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round;}
.ayrac{height:1px; background:var(--line); margin:14px 0;}

/* haftalarım grafikleri */
.hgrafik{width:100%; height:auto; display:block;}
.hgrafik .gy, .hgrafik .gd, .hgrafik .ge{font-family:var(--sans); fill:var(--ink-2);}
.hgrafik .gy{font-size:11px; fill:var(--espresso);}
.hgrafik .gd{font-size:11px; font-weight:600; fill:var(--ink);}
.hgrafik .ge{font-size:10.5px;}
.artis{color:var(--ok); font-weight:600;}
.azalis{color:var(--uyari); font-weight:600;}
.kiyas{margin-bottom:12px;}
.kiyas-cubuk{display:flex; align-items:center; gap:8px; margin-top:4px;}
.kiyas-cubuk i{display:block; height:10px; min-width:2px; border-radius:99px; background:linear-gradient(90deg, var(--copper), var(--copper-2));}
.kiyas-cubuk.eski i{background:#D9C9B8;}
.kiyas-cubuk span{font-size:.75rem; color:var(--ink-3); white-space:nowrap;}

/* sohbet */
.sohbet-kart{display:flex; flex-direction:column;}
.sohbet-liste{height:min(60vh, 520px); overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding:4px 2px 8px;}
.sm{background:var(--bg); border-radius:12px 12px 12px 4px; padding:8px 12px; max-width:85%; align-self:flex-start;}
.sm.benim{background:var(--copper-soft); border-radius:12px 12px 4px 12px; align-self:flex-end;}
.sm.gizli{opacity:.5; outline:1px dashed var(--uyari);}
.sm-bas{display:flex; gap:6px; align-items:center; flex-wrap:wrap; font-size:.82rem;}
.sm-bas small{color:var(--ink-3); font-size:.72rem;}
.sm-metin{margin-top:2px; white-space:pre-wrap; word-break:break-word;}
.sm-islem{display:flex; gap:10px; margin-top:3px;}
.sm-islem .metin-btn{font-size:.72rem; font-weight:500;}
.soluk-btn{color:var(--ink-3) !important;}
.sohbet-form{display:flex; gap:8px; align-items:flex-end; margin-top:10px;}
.sohbet-form textarea{flex:1; resize:none;}
.kurallar{margin:0; padding-left:18px; font-size:.88rem; color:var(--ink-2);}
.kurallar li + li{margin-top:6px;}
