

/* Masthead ve kabuk — biyoloji/biy9.1.2 referansından.
   Bu dosya karta özgüdür; ortak kit dosyaları değiştirilmez. */
:root {
  --orange: #7cc1c1;
  --rust: #01548a;
  --cream: #fbf8eb;
  --peach: #e2f2f2;
  --accent: #01548a;
  --tint: #eff8f8;
  --line: #c9dbe4;
}

.masthead .brand {
  position: absolute;
  left: -50px;
  top: -100px;
  width: 310px;
  height: 280px;
  border-radius: 50%;
  background: var(--orange);
}
.masthead .brand img {
  position: absolute;
  width: 116px;
  left: 88px;
  top: 124px;
}
.masthead .hero-mark {
  position: absolute;
  width: 132px;
  height: 132px;
  object-fit: cover;
  left: 178px;
  top: 39px;
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 7px 18px #3e241f35;
}
.masthead .subject {
  position: absolute;
  right: 28px;
  top: 26px;
  text-align: right;
  line-height: 1.05;
  max-width: 46%;
}
.masthead .subject strong {
  display: block;
  color: #b8491a;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: .02em;
}
.masthead .subject span {
  display: block;
  color: #282726;
  font-size: 15px;
  font-weight: 700;
  margin-top: 4px;
}
.masthead .grade {
  position: absolute;
  right: 29px;
  bottom: 12px;
  color: var(--rust);
  font-size: 20px;
  font-weight: 600;
  text-align: right;
}
.masthead .grade .squares {
  display: block;
  font-size: 20px;
  line-height: 1;
  letter-spacing: -3px;
}

.page .course-title {
  padding: 16px 0 10px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .02em;
  color: #282726;
}

/* Çalışmayı sıfırla — footer altı ince metin düğmesi. */
.storage {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  max-width: 1240px;
  margin: 0 auto 26px;
  padding: 0 18px;
}
.storage .text-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid #b87e61;
  border-radius: 4px;
  background: #fff9;
  color: var(--rust);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
}
.storage #reset {
  background: transparent;
}
.storage .text-button:hover {
  background: var(--peach);
  border-color: var(--rust);
}

/* Sıfırlama onay diyaloğu. */
#reset-dialog {
  border: none;
  border-radius: 8px;
  padding: 26px 28px;
  max-width: 420px;
  box-shadow: 0 18px 50px rgba(40, 39, 38, .25);
}
#reset-dialog::backdrop {
  background: rgba(40, 39, 38, .45);
}
#reset-dialog h2 {
  margin: 0 0 10px;
  font-size: 20px;
}
#reset-dialog p {
  margin: 0 0 18px;
  color: #4a443f;
}
#reset-dialog .dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
#reset-dialog .dialog-actions button {
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 4px;
  border: 1px solid #b87e61;
  background: #fff;
  color: var(--rust);
  font-weight: 600;
  cursor: pointer;
}
#reset-dialog .dialog-actions #confirm-reset {
  background: var(--rust);
  border-color: var(--rust);
  color: #fff;
}

@media (max-width: 850px) {
  .masthead .brand { left: -80px; width: 250px; }
  .masthead .brand img { width: 90px; left: 104px; top: 119px; }
  .masthead .hero-mark { width: 86px; height: 86px; left: 108px; top: 57px; }
  .masthead .subject { right: 12px; }
  .masthead .subject strong { font-size: 22px; }
  .masthead .subject span { font-size: 12px; }
  .masthead .grade { font-size: 16px; right: 12px; bottom: 6px; }
  .page .course-title { font-size: 12px; }
}

@media (max-width: 560px) {
  .storage .text-button { flex: 1; min-height: 44px; font-size: 12px; padding: 9px 10px; }
  .masthead { border-right-width: 10px; }
}

/* Hero odak — fotoğraftaki öznenin konumu (masthead_kur.py). */
.masthead .hero-mark { object-position: 50.0% 50.0%; }

/* --- 10. sınıf gövde zemini (yayındaki 10. sınıf kartlarıyla aynı aile) --- */
body { background: #f4f8f9; }

/* --- kart özel: radyo satırları --- */
#main .alan-radio { display: flex; align-items: center; gap: 18px; padding: 11px 8px;
  border-bottom: 1px solid var(--line, #c9dbe4); }
#main .alan-radio .alan-etiket { flex: 1 1 auto; margin: 0; font-weight: 500; }
#main .alan-radio .tf-options { flex: 0 0 auto; display: flex; gap: 10px; }
#main .alan-radio .tf-options label { min-width: 96px; justify-content: center; }
@media (max-width: 640px) {
  #main .alan-radio { flex-direction: column; align-items: flex-start; }
  #main .alan-radio .tf-options label { min-width: 0; }
}
/* --- kart özel: bilgi kartı --- */
#main .bilgi-karti { background: var(--tint, #eff8f8); border-left: 4px solid var(--orange, #7cc1c1);
  border-radius: 8px; padding: 14px 16px; margin: 14px 0; }
#main .bilgi-karti h3 { margin: 0 0 6px; color: var(--rust, #01548a); font-size: 1rem; }
#main .bilgi-karti p { margin: 0; }
/* >>> alan-stil v1 */
.alan.alan-secim .secim{display:flex;align-items:flex-start;gap:.8rem;margin:.4rem 0;padding:.6rem .8rem;border:2px solid #5b6b82;border-radius:10px;background:#fff;cursor:pointer;line-height:1.45}
.alan.alan-secim .secim:hover{border-color:#1f4fa3;background:#f3f7ff}
.alan.alan-secim .secim input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:0 0 1.7rem;width:1.7rem;height:1.7rem;margin:.05rem 0 0;border:2.5px solid #1f2a44;border-radius:6px;background:#fff;display:grid;place-content:center;cursor:pointer}
.alan.alan-secim .secim input[type=checkbox]::after{content:"\2713";font-size:1.25rem;font-weight:800;line-height:1;color:#fff;transform:scale(0);transition:transform .12s}
.alan.alan-secim .secim input[type=checkbox]:checked{background:#0f6b4f;border-color:#0f6b4f}
.alan.alan-secim .secim input[type=checkbox]:checked::after{transform:scale(1)}
.alan.alan-secim .secim:has(input:checked){border-color:#0f6b4f;background:#e6f4ee}
.alan.alan-secim .secim input:focus-visible,.alan.alan-doldur input:focus-visible,.alan.alan-radio input:focus-visible{outline:3px solid #1f4fa3;outline-offset:2px}
.alan.alan-radio .tf-options label{display:inline-flex;align-items:center;gap:.5rem;margin:.25rem 1rem .25rem 0;padding:.4rem .7rem;border:2px solid #5b6b82;border-radius:999px;background:#fff;cursor:pointer}
.alan.alan-radio .tf-options input[type=radio]{width:1.3rem;height:1.3rem;accent-color:#0f6b4f;cursor:pointer}
.alan.alan-radio .tf-options label:has(input:checked){border-color:#0f6b4f;background:#e6f4ee;font-weight:600}
.alan.alan-doldur{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:.9rem;margin:.45rem 0}
.alan.alan-doldur .alan-etiket{flex:1;margin:0}
.alan.alan-doldur input[type=text]{width:3.4rem;min-width:3.4rem;height:2.6rem;text-align:center;font-size:1.15rem;font-weight:700;border:2.5px solid #1f2a44;border-radius:8px;background:#fff;color:#1d2433}
.alan.alan-doldur input[type=text]:focus{border-color:#1f4fa3}
/* <<< alan-stil v1 */
/* >>> donut-bicim v1 */
.donut-tablo{width:100%;border-collapse:collapse;margin:.4rem 0}
.donut-tablo td{padding:.55rem .75rem;border:1.5px solid #9aa7b8;vertical-align:middle;line-height:1.45}
.donut-tablo td.donut-isaret{width:3.2rem;text-align:center;font-size:1.35rem;font-weight:800;color:#0f6b4f;background:#f2f8f5}
.donut-madde.donut-baslik{margin-top:.9rem;font-weight:700;color:#1b4f8f}
.donut-madde.donut-l1{padding-left:1.7rem;text-indent:-1.05rem;margin-top:.25rem}
.donut-madde.donut-l2{padding-left:3.1rem;text-indent:-1.05rem;margin-top:.15rem}
.donut-madde strong{font-weight:700}
.donut-etiket{font-weight:700}
/* <<< donut-bicim v1 */
/* >>> ortak-duzeltme v1 */
.alan.alan-radio .tf-options label{justify-content:flex-start !important;text-align:left !important}
.alan.alan-radio .tf-options label span{text-align:left !important}
.tablo-alan td .alan{margin:0}
.tablo-alan td .alan-secim .secim{margin:0;padding:0;border:0;background:transparent;min-height:0;display:flex;justify-content:center}
.tablo-alan td:has(.alan-secim){width:4.2rem;padding:.25rem .5rem}
.tablo-alan td:has(.alan-doldur){width:4.8rem;padding:.25rem .5rem}
.tablo-alan td .alan-doldur input[type=text]{width:3rem;min-width:0;height:2.1rem;font-size:1rem}
.donut-dogru{color:#0f4f8a}
/* <<< ortak-duzeltme v1 */
/* >>> kart-insa v1 */
.kaynak-gorsel figcaption.altyazilar{display:flex;gap:.4rem;text-align:center;font-size:.92rem;margin:.3rem 0 .9rem}
.kaynak-gorsel figcaption.altyazilar span{flex:1;text-align:center}
.alan.alan-radio .tf-options label{justify-content:flex-start !important;text-align:left !important}
.alan.alan-radio .tf-options label span{text-align:left !important}
.gorsel-satiri{display:grid;gap:.6rem;margin:.6rem 0 .9rem;align-items:start}
.gorsel-satiri figure{margin:0;text-align:center}
.gorsel-satiri img{max-width:100%;height:auto;border:1px solid #1f2a44}
.gorsel-satiri figcaption{font-size:.92rem;margin-top:.3rem}
.donut-dogru{color:#0f4f8a}
.tablo-alan td .alan{margin:0}
.tablo-alan td .alan-secim .secim{margin:0;padding:0;border:0;background:transparent;min-height:0;display:flex;justify-content:center}
.tablo-alan td .alan-secim .secim input[type=checkbox]{width:1.35rem;height:1.35rem;flex-basis:1.35rem}
.tablo-alan td:has(.alan-secim){padding:.25rem .5rem}
.tablo-alan td:has(.alan-doldur){width:4.2rem;padding:.25rem .5rem}
.tablo-alan td .alan-doldur{display:block;margin:0}
.tablo-alan td .alan-doldur input[type=text]{width:3rem;min-width:0;height:2.1rem;font-size:1rem}
.tablo-alan td:has(.alan-secim) + td,.tablo-alan td:has(.alan-doldur) + td{text-align:left}
.donut-kutu .kaynak-tablosu.donut-tablo{width:100%;border-collapse:collapse;margin:.5rem 0}
.donut-kutu .kaynak-tablosu.donut-tablo th{background:#7fbfbf;color:#fff;font-weight:700;text-align:center;padding:.5rem .7rem;border:1px solid #9fcfcf}
.donut-kutu .kaynak-tablosu.donut-tablo th[scope=row]{background:transparent;color:inherit;font-weight:400;text-align:left}
.donut-kutu .kaynak-tablosu.donut-tablo td{padding:.45rem .7rem;border:1px solid #c5ccd6;text-align:left;font-weight:400;color:#0f4f8a}
.donut-kutu .kaynak-tablosu.donut-tablo tbody tr:nth-child(odd) td{background:#eceef0}
.donut-kutu .kaynak-tablosu.donut-tablo td.donut-isaret{width:3rem;text-align:center;font-weight:800;color:#0f6b4f}
.sec-liste{min-width:15rem;max-width:100%;padding:.45rem .6rem;font-size:1rem;border:2px solid #1f2a44;border-radius:8px;background:#fff;color:#1d2433}
.alan.alan-radio .tf-options{display:flex;flex-direction:column;align-items:stretch}
.alan.alan-radio .tf-options label{display:flex;align-items:flex-start;border-radius:12px;width:100%;margin:.25rem 0}
.tablo-alan td.tablo-alan-hucre .alan-secim .secim{justify-content:center;border:0;padding:.2rem;background:transparent}
.tablo-alan td.tablo-alan-hucre .alan-secim .secim:has(input:checked){background:transparent}
.tablo-alan td:has(.alan-secim){width:3.6rem;text-align:center}
.kaynak-tablosu.tablo-alan{width:100%;border-collapse:collapse;margin:.6rem 0}
.kaynak-tablosu.tablo-alan th{background:#7fbfbf;color:#fff;font-weight:700;text-align:center;padding:.6rem .75rem;border:1px solid #9fcfcf}
.kaynak-tablosu.tablo-alan td{padding:.6rem .75rem;border:1px solid #c5ccd6;vertical-align:middle;text-align:left;font-weight:400}
.kaynak-tablosu.tablo-alan tbody tr:nth-child(odd) td{background:#eceef0}
.kaynak-tablosu.tablo-alan td.tablo-alan-hucre textarea{width:100%;min-width:12rem;box-sizing:border-box}
.kaynak-tablosu.tablo-alan td.tablo-alan-hucre{width:42%}
.kaynak-tablosu.tablo-alan td.tablo-alan-hucre:has(.alan-secim){width:4.2rem}
.kaynak-tablosu.tablo-alan td.tablo-alan-hucre:has(.alan-doldur){width:4.8rem}
.purpose-etiket,.purpose .purpose-etiket{font-weight:700}
/* <<< kart-insa v1 */
