/* Web 2.0 araçları — ortak görünüm (kareli defter dili; ortak.css'ten SONRA yüklenir).
   Bütün sınıflar "w2-" önekli. Chromium 80: flex gap yok (margin), aspect-ratio yok, inset yok. */

:root {
  --w2-serit-h: 72px;
  --w2-vurgu: #7DB7FF; --w2-vurgu-acik: #E6F0FF; --w2-vurgu-koyu: #2F6FD0;
  --w2-yay: cubic-bezier(.16,1,.3,1);
  --w2-cik: cubic-bezier(.4,0,1,1);
  --w2-golge-dugme: 0 1px 0 rgba(255,255,255,.35) inset, 0 -2px 0 rgba(10,25,90,.18) inset, 0 2px 3px rgba(26,43,76,.12), 0 10px 22px -10px rgba(42,75,215,.65);
  --w2-golge-yuzey: 0 1px 2px rgba(26,43,76,.06), 0 8px 24px -14px rgba(26,43,76,.28);
  --w2-golge-havada: 0 2px 6px rgba(26,43,76,.08), 0 24px 60px -24px rgba(26,43,76,.42);
  --w2-dokun: var(--dokun, 48px);
  /* sitenin yüzen köşe düğmeleri için güvenli boşluk (sinif/gezinme.js .gz-dok sol alt, sinif/cubuk.js .sa-cb sağ alt) */
  --w2-dok-sol: 150px; --w2-dok-alt: 96px; --w2-arac-sag: 84px; --w2-arac-alt: 140px;
}
@media (max-width: 900px) { :root { --w2-dok-alt: 88px; --w2-arac-sag: 72px; } }

/* ------------------------------------------------ sayfa iskeleti */
body.w2-sayfa { min-height: 100vh; overflow-x: hidden; }
.w2-sayfa .w2-ana { position: relative; min-height: calc(100vh - var(--w2-serit-h)); padding: 18px clamp(14px, 2.2vw, 28px) var(--w2-dok-alt); box-sizing: border-box; }
.w2-sayfa.w2-serit-gizli .w2-ana { min-height: 100vh; }
/* tahtada kaydırmasız tam yükseklik isteyen araçlar: <main class="w2-ana w2-sabit"> */
.w2-sayfa .w2-ana.w2-sabit { height: calc(100vh - var(--w2-serit-h)); overflow: hidden; padding-bottom: 18px; }
.w2-sayfa.w2-serit-gizli .w2-ana.w2-sabit { height: 100vh; }

/* ------------------------------------------------ üst şerit */
.w2-serit {
  position: sticky; top: 0; z-index: 900; height: var(--w2-serit-h); box-sizing: border-box;
  display: flex; align-items: center; padding: 0 clamp(10px, 1.6vw, 22px);
  background: rgba(255,255,255,.92); border-bottom: 1.5px solid var(--cizgi, #D9E1EE);
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 6px 20px -16px rgba(26,43,76,.4);
  -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px);
  transition: transform .28s var(--w2-yay), opacity .2s;
}
.w2-serit-gizli .w2-serit { transform: translateY(-100%); opacity: 0; pointer-events: none; position: fixed; left: 0; right: 0; }
.w2-serit > * { flex: none; }
.w2-serit > * + * { margin-left: 12px; }
.w2-geri {
  display: inline-flex; align-items: center; height: var(--w2-dokun); padding: 0 16px 0 10px; border-radius: 14px;
  color: var(--murekkep, #1A2B4C); text-decoration: none; font-weight: 700; font-size: 16px;
  border: 1.5px solid var(--cizgi, #D9E1EE); background: #fff; transition: background .15s, transform .12s var(--w2-yay);
}
.w2-geri:hover { background: var(--panel2, #F4F6FB); }
.w2-geri:active { transform: scale(.97); }
.w2-geri .w2-svg { margin-right: 4px; }
.w2-kimlik { display: flex; align-items: center; min-width: 0; flex: 0 1 auto !important; }
.w2-kimlik-simge {
  width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-size: 26px; flex: none;
  background: linear-gradient(160deg, #fff 0%, var(--w2-vurgu-acik) 100%); border: 1.5px solid var(--w2-vurgu);
  box-shadow: 0 1px 0 #fff inset, 0 6px 14px -8px var(--w2-vurgu-koyu);
}
.w2-kimlik-simge .w2-svg { color: var(--w2-vurgu-koyu); }
.w2-kimlik-ad { font-family: var(--baslik); font-weight: 800; font-size: clamp(19px, 1.8vw, 25px); letter-spacing: -.02em; margin: 0 0 0 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.1; color: var(--murekkep, #1A2B4C); }
.w2-kipler-yer { flex: 1 1 auto !important; display: flex; justify-content: center; min-width: 0; }
.w2-eylemler { display: flex; align-items: center; margin-left: auto !important; }
.w2-eylemler > * + * { margin-left: 6px; }
.w2-eylem {
  position: relative; display: inline-flex; align-items: center; height: var(--w2-dokun); min-width: var(--w2-dokun); padding: 0 14px; border-radius: 14px;
  border: 1.5px solid transparent; background: transparent; color: var(--murekkep, #1A2B4C); font-weight: 700; font-size: 15.5px; justify-content: center;
  transition: background .15s, border-color .15s, transform .12s var(--w2-yay), color .15s;
}
.w2-eylem .w2-svg { flex: none; }
.w2-eylem-metin { margin-left: 8px; white-space: nowrap; }
.w2-eylem:hover { background: var(--panel2, #F4F6FB); border-color: var(--cizgi, #D9E1EE); }
.w2-eylem:active { transform: scale(.96); }
.w2-eylem[aria-pressed="true"] { background: var(--a-sari, #FFF6CC); border-color: #F4D35E; color: #6B5200; }
.w2-eylem-oo[aria-pressed="true"] { background: var(--a-pembe, #FFE9F2); border-color: #FFA3CC; color: #9A2E62; }
.w2-eylem[aria-pressed="false"] .w2-svg { opacity: .78; }
.w2-eylem-vurgu { background: var(--eylem, #3B36D9); color: #fff; box-shadow: var(--w2-golge-dugme); }
.w2-eylem-vurgu:hover { background: var(--eylem-koyu, #2A25A8); border-color: transparent; }
.w2-eylem-daha { display: none; }
/* okul öncesi: şeritte yazı yok — "Araçlar" yazısı gizli, yalnız geri oku (dokunma alanı korunur) */
.w2-oo .w2-geri span { display: none; } .w2-oo .w2-geri { padding: 0 12px; } .w2-oo .w2-geri .w2-svg { margin-right: 0; }
/* dar ekranda yalnız simge, daha dar ekranda menüye taşı */
@media (max-width: 1380px) { .w2-eylem:not(.w2-eylem-vurgu) .w2-eylem-metin { display: none; } .w2-eylem:not(.w2-eylem-vurgu) { padding: 0; } }
@media (max-width: 900px) {
  :root { --w2-serit-h: 64px; }
  .w2-geri span { display: none; } .w2-geri { padding: 0 10px; }
  .w2-eylem-metin { display: none; } .w2-eylem { padding: 0; }
  .w2-eylem:not(.w2-eylem-vurgu):not(.w2-eylem-daha) { display: none; }
  .w2-eylem-daha { display: inline-flex; }
}
@media (max-width: 560px) {
  .w2-kimlik-simge { width: 40px; height: 40px; font-size: 22px; border-radius: 12px; }
  .w2-kimlik-ad { font-size: 18px; margin-left: 8px; max-width: 34vw; }
  .w2-serit > * + * { margin-left: 8px; }
  .w2-sayfa[data-w2-kip] .w2-serit { flex-wrap: wrap; height: auto; padding-top: 8px; padding-bottom: 8px; }
  .w2-sayfa[data-w2-kip] .w2-kipler-yer { order: 5; flex: 1 1 100% !important; margin: 8px 0 0 !important; }
  .w2-sayfa[data-w2-kip] { --w2-serit-h: 124px; }
  /* okul öncesinde telefonda şerit üç satıra taşmasın: eylemler 52 px (yine ≥ 48) */
  .w2-oo .w2-serit .w2-eylem, .w2-oo .w2-serit .w2-geri { --w2-dokun: 52px; }
  .w2-oo .w2-serit .w2-sekme button { height: 48px; }
}

/* ------------------------------------------------ bölümlü seçim (kip sekmeleri) */
.w2-sekme { position: relative; display: inline-flex; padding: 4px; border-radius: 16px; background: var(--panel3, #E9EEF8); box-shadow: inset 0 1px 2px rgba(26,43,76,.08); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.w2-sekme::-webkit-scrollbar { display: none; }
.w2-sekme-gosterge { position: absolute; top: 4px; bottom: 4px; left: 0; border-radius: 12px; background: #fff; box-shadow: 0 1px 2px rgba(26,43,76,.1), 0 4px 12px -4px rgba(26,43,76,.22); transition: transform .32s var(--w2-yay), width .32s var(--w2-yay); }
.w2-sekme button { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; height: var(--w2-dokun); padding: 0 18px; border: 0; background: transparent; border-radius: 12px; font-weight: 700; font-size: 16px; color: var(--soluk, #56647F); white-space: nowrap; transition: color .2s; flex: none; }
.w2-sekme button > * + * { margin-left: 8px; }
.w2-sekme button:hover { color: var(--murekkep, #1A2B4C); }
.w2-sekme button.w2-secili { color: var(--eylem, #3B36D9); }
.w2-sekme-kucuk button { height: var(--w2-dokun); padding: 0 14px; font-size: 15px; }
/* şeritteki kip sekmeleri tahtada en az 48 px (dokunma alanı kuralı) */
.w2-serit .w2-sekme button { height: 48px; }
.w2-oo .w2-serit .w2-sekme button { height: 52px; }
@media (max-width: 560px) { .w2-sekme { display: flex; width: 100%; } .w2-sekme button { flex: 1 0 auto; } }

/* ------------------------------------------------ düğmeler, girdiler, çipler */
.w2-dugme {
  position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 22px; border: 0; border-radius: 15px;
  background: var(--eylem, #3B36D9); color: #fff; font-weight: 700; font-size: 17px; line-height: 1.15; text-decoration: none; cursor: pointer;
  box-shadow: var(--w2-golge-dugme); transition: transform .14s var(--w2-yay), background .15s, box-shadow .15s; -webkit-tap-highlight-color: transparent; overflow: hidden;
}
.w2-dugme > * + * { margin-left: 9px; }
.w2-dugme:hover { background: var(--eylem-koyu, #2A25A8); }
.w2-dugme:active { transform: scale(.97) translateY(1px); }
.w2-dugme[disabled] { opacity: .45; cursor: not-allowed; transform: none; }
.w2-dugme.w2-ikincil { background: #fff; color: var(--murekkep, #1A2B4C); box-shadow: inset 0 0 0 1.5px var(--cizgi, #D9E1EE), 0 1px 2px rgba(26,43,76,.06); }
.w2-dugme.w2-ikincil:hover { background: var(--panel2, #F4F6FB); box-shadow: inset 0 0 0 1.5px var(--kare-koyu, #D3DDEE), 0 2px 6px -2px rgba(26,43,76,.16); }
.w2-dugme.w2-tehlike { background: #D93A2B; box-shadow: 0 -2px 0 rgba(90,10,10,.2) inset, 0 10px 20px -10px rgba(217,58,43,.7); }
.w2-dugme.w2-tehlike:hover { background: #B92E21; }
.w2-dugme.w2-kucuk { min-height: var(--w2-dokun); padding: 0 14px; font-size: 15px; border-radius: 12px; }
.w2-dugme.w2-dev { min-height: 72px; padding: 0 34px; font-size: 22px; border-radius: 20px; }
.w2-ikon { width: var(--w2-dokun); height: var(--w2-dokun); border-radius: 14px; border: 1.5px solid var(--cizgi, #D9E1EE); background: #fff; color: var(--murekkep, #1A2B4C); display: inline-grid; place-items: center; flex: none; transition: background .15s, transform .12s var(--w2-yay); padding: 0; }
.w2-ikon:hover { background: var(--panel2, #F4F6FB); }
.w2-ikon:active { transform: scale(.94); }
.w2-girdi { width: 100%; box-sizing: border-box; min-height: 52px; padding: 0 16px; border-radius: 14px; border: 1.5px solid var(--cizgi, #D9E1EE); background: #fff; font: inherit; font-size: 17px; color: var(--murekkep, #1A2B4C); transition: border-color .15s, box-shadow .15s; }
textarea.w2-girdi { padding: 12px 16px; min-height: 96px; resize: vertical; line-height: 1.45; }
select.w2-girdi { padding-right: 36px; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A2B4C' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 18px; }
.w2-girdi:hover { border-color: var(--kare-koyu, #D3DDEE); }
.w2-girdi:focus { outline: none; border-color: var(--eylem, #3B36D9); box-shadow: 0 0 0 4px rgba(42,75,215,.14); }
.w2-girdi::placeholder { color: var(--soluk2, #8792A8); }
.w2-cipler { display: flex; flex-wrap: wrap; margin: -4px; }
.w2-cipler > * { margin: 4px; }
.w2-cip { display: inline-flex; align-items: center; min-height: var(--w2-dokun); padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--cizgi, #D9E1EE); background: #fff; font-weight: 700; font-size: 15.5px; color: var(--murekkep, #1A2B4C); transition: background .15s, border-color .15s, color .15s, transform .12s var(--w2-yay); }
.w2-cip:hover { background: var(--panel2, #F4F6FB); }
.w2-cip:active { transform: scale(.96); }
.w2-cip.w2-secili, .w2-cip[aria-pressed="true"] { background: var(--a-mavi, #E6F0FF); border-color: var(--eylem, #3B36D9); color: var(--eylem-koyu, #2A25A8); box-shadow: inset 0 0 0 1px var(--eylem, #3B36D9); }
.w2-tehlike-metin { color: #C0392B !important; }
.w2-svg { display: block; }

/* ------------------------------------------------ yüzeyler */
.w2-kart { position: relative; background: #fff; border: 1.5px solid var(--cizgi, #D9E1EE); border-radius: 20px; box-shadow: var(--w2-golge-yuzey); padding: clamp(16px, 2vw, 24px); }
.w2-kart-baslik { font-family: var(--baslik); font-weight: 800; font-size: 21px; letter-spacing: -.015em; margin: 0 0 12px; display: flex; align-items: center; }
.w2-kart-baslik::before { content: ""; width: 10px; height: 24px; border-radius: 3px; background: var(--ayrac, var(--w2-vurgu)); margin-right: 10px; flex: none; }
.w2-bos { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px 20px; color: var(--soluk, #56647F); }
.w2-bos > * + * { margin-top: 10px; }
.w2-bos b { font-family: var(--baslik); font-size: 24px; color: var(--murekkep, #1A2B4C); }
.w2-etiket { display: inline-flex; align-items: center; height: 28px; padding: 0 11px; border-radius: 999px; background: var(--panel2, #F4F6FB); border: 1px solid var(--cizgi, #D9E1EE); font-size: 13.5px; font-weight: 700; color: var(--soluk, #56647F); white-space: nowrap; }

/* ------------------------------------------------ bildirim */
.w2-bildirim {
  position: fixed; left: 50%; bottom: calc(26px + env(safe-area-inset-bottom, 0px)); z-index: 2000; max-width: min(560px, calc(100vw - 32px));
  transform: translate(-50%, 20px) scale(.98); opacity: 0; pointer-events: none; display: flex; align-items: center;
  background: var(--murekkep, #1A2B4C); color: #fff; font-weight: 700; font-size: 17px; padding: 14px 22px; border-radius: 16px;
  box-shadow: 0 18px 40px -16px rgba(26,43,76,.6); transition: transform .3s var(--w2-yay), opacity .2s;
}
.w2-bildirim.w2-acik { transform: translate(-50%, 0) scale(1); opacity: 1; }
.w2-bildirim-nokta { width: 10px; height: 10px; border-radius: 50%; margin-right: 12px; flex: none; }
.w2-bildirim-nokta.w2-tamam { background: #7FDB9F; box-shadow: 0 0 0 4px rgba(127,219,159,.25); }
.w2-bildirim-nokta.w2-hata { background: #FF8A6B; box-shadow: 0 0 0 4px rgba(255,138,107,.25); }

/* ------------------------------------------------ modal */
.w2-perde { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1500; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(26,43,76,0); transition: background .22s; -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); }
.w2-perde.w2-acik { background: rgba(26,43,76,.34); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.w2-perde.w2-kapaniyor { background: rgba(26,43,76,0); transition: background .16s; }
.w2-modal {
  position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 32px); display: flex; flex-direction: column; background: #fff; border-radius: 22px;
  box-shadow: var(--w2-golge-havada), 0 0 0 1px rgba(26,43,76,.06); opacity: 0; transform: translateY(10px) scale(.97); transition: transform .26s var(--w2-yay), opacity .2s;
}
.w2-modal-genis { max-width: 860px; }
.w2-perde.w2-acik .w2-modal { opacity: 1; transform: none; }
.w2-perde.w2-kapaniyor .w2-modal { opacity: 0; transform: scale(.98); transition: transform .16s var(--w2-cik), opacity .16s; }
.w2-modal-ust { display: flex; align-items: center; padding: 18px 18px 6px 24px; }
.w2-modal-ust h2 { font-family: var(--baslik); font-size: 24px; font-weight: 800; letter-spacing: -.02em; margin: 0; flex: 1; line-height: 1.15; }
.w2-modal-govde { padding: 10px 24px 18px; overflow: auto; -webkit-overflow-scrolling: touch; }
.w2-modal-alt { display: flex; justify-content: flex-end; flex-wrap: wrap; padding: 14px 18px 18px; border-top: 1px solid var(--kare, #E4EBF6); background: linear-gradient(#fff, #FBFCFE); border-radius: 0 0 22px 22px; }
.w2-modal-alt > * { margin: 4px 0 4px 10px; }
.w2-modal-metin { color: var(--soluk, #56647F); margin: 0 0 14px; font-size: 17px; }
@media (max-width: 560px) {
  .w2-perde { align-items: flex-end; padding: 0; }
  .w2-modal { max-height: 92vh; border-radius: 22px 22px 0 0; transform: translateY(40px); }
  .w2-modal-alt { border-radius: 0; padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)); }
  .w2-modal-alt .w2-dugme { flex: 1 1 auto; }
}

/* ------------------------------------------------ açılır menü, renk seçici */
.w2-menu { position: fixed; z-index: 1600; min-width: 230px; padding: 6px; background: #fff; border-radius: 16px; border: 1px solid var(--cizgi, #D9E1EE); box-shadow: var(--w2-golge-havada); opacity: 0; transform: scale(.96); transition: transform .18s var(--w2-yay), opacity .14s; }
.w2-menu.w2-acik { opacity: 1; transform: none; }
.w2-menu-oge { display: flex; align-items: center; width: 100%; min-height: 50px; padding: 0 14px; border: 0; background: transparent; border-radius: 11px; font-weight: 700; font-size: 16px; color: var(--murekkep, #1A2B4C); text-align: left; }
.w2-menu-oge > * + * { margin-left: 12px; }
.w2-menu-oge:hover, .w2-menu-oge:focus { background: var(--panel2, #F4F6FB); outline: none; }
.w2-menu-ayrac { border: 0; border-top: 1px solid var(--kare, #E4EBF6); margin: 6px 4px; }
.w2-renk-menu { display: grid; grid-template-columns: repeat(6, var(--w2-dokun)); grid-gap: 8px; min-width: 0; padding: 12px; }
.w2-renk-oge { width: var(--w2-dokun); height: var(--w2-dokun); border-radius: 12px; border: 2px solid rgba(26,43,76,.14); padding: 0; transition: transform .12s var(--w2-yay); }
.w2-renk-oge:hover { transform: scale(1.08); }
.w2-renk-oge.w2-secili { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--eylem, #3B36D9); }
.w2-renk-ozel { position: relative; width: var(--w2-dokun); height: var(--w2-dokun); border-radius: 12px; border: 2px dashed var(--kare-koyu, #D3DDEE); display: grid; place-items: center; font-size: 24px; font-weight: 700; color: var(--soluk, #56647F); cursor: pointer; overflow: hidden; }
.w2-renk-ozel input { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }

/* ------------------------------------------------ arama kutusu */
.w2-ara { position: relative; display: flex; align-items: center; flex: 1 1 260px; }
.w2-ara-simge { position: absolute; left: 14px; color: var(--soluk, #56647F); pointer-events: none; }
.w2-ara input { width: 100%; min-height: 50px; padding: 0 16px 0 44px; border-radius: 14px; border: 1.5px solid var(--cizgi, #D9E1EE); background: #fff; font: inherit; font-size: 17px; color: var(--murekkep, #1A2B4C); }
.w2-ara input:focus { outline: none; border-color: var(--eylem, #3B36D9); box-shadow: 0 0 0 4px rgba(42,75,215,.14); }

/* ------------------------------------------------ resimler */
.w2-resim { display: inline-grid; place-items: center; flex: none; vertical-align: middle; border-radius: 12px; }
.w2-resim svg { width: 100%; height: 100%; display: block; }
.w2-resim-foto { object-fit: contain; background: transparent; }
img.w2-resim-foto[src^="data:"] { object-fit: cover; background: #fff; box-shadow: 0 0 0 1px rgba(26,43,76,.08); }
.w2-resim-emoji { line-height: 1; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
.w2-resim-renk i { display: block; width: 86%; height: 86%; border-radius: 50%; box-shadow: inset 0 -6px 0 rgba(0,0,0,.08), 0 0 0 2px rgba(26,43,76,.85); }
.w2-resim-bekle { background: linear-gradient(90deg, var(--panel2, #F4F6FB), #fff, var(--panel2, #F4F6FB)); background-size: 200% 100%; animation: w2Isilti 1.2s linear infinite; }
@keyframes w2Isilti { to { background-position: -200% 0; } }

/* ------------------------------------------------ resim seçici */
.w2-rs-ust { display: flex; flex-wrap: wrap; align-items: center; margin: -5px -5px 6px; }
.w2-rs-ust > * { margin: 5px; }
.w2-rs-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); grid-gap: 10px; height: min(54vh, 520px); overflow: auto; padding: 4px 4px 12px; align-content: start; }
.w2-rs-oge { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 112px; padding: 10px 6px 8px; border-radius: 16px; border: 1.5px solid var(--kare, #E4EBF6); background: #fff; color: var(--murekkep, #1A2B4C); font-size: 13.5px; font-weight: 700; transition: transform .14s var(--w2-yay), border-color .15s, box-shadow .15s; }
.w2-rs-oge span:last-child { margin-top: 6px; text-align: center; line-height: 1.15; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.w2-rs-oge:hover { border-color: var(--turkuaz, #7DB7FF); box-shadow: 0 8px 18px -10px rgba(42,75,215,.45); transform: translateY(-2px); }
.w2-rs-oge:active { transform: scale(.96); }
.w2-rs-emoji { min-height: 72px; font-size: 40px; padding: 6px; }
.w2-rs-emoji span { margin: 0 !important; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
.w2-rs-baslik { grid-column: 1 / -1; font-family: var(--baslik); font-size: 17px; margin: 10px 0 0; color: var(--soluk, #56647F); }
.w2-rs-bos, .w2-rs-not { grid-column: 1 / -1; color: var(--soluk, #56647F); text-align: center; padding: 12px; margin: 0; font-size: 15px; }
.w2-rs-yukle { grid-column: 1 / -1; display: grid; place-items: center; height: 100%; }
.w2-rs-yukle-ic { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 440px; padding: 30px; border: 2px dashed var(--kare-koyu, #D3DDEE); border-radius: 20px; color: var(--soluk, #56647F); }
.w2-rs-yukle-ic > * + * { margin-top: 12px; }
.w2-rs-yukle-ic b { color: var(--murekkep, #1A2B4C); font-size: 18px; }

/* ------------------------------------------------ liste düzenleyici */
.w2-ld-liste { list-style: none; margin: 0; padding: 0; }
.w2-ld-satir { position: relative; display: flex; align-items: center; padding: 8px 8px 8px 4px; margin-bottom: 8px; background: #fff; border: 1.5px solid var(--kare, #E4EBF6); border-radius: 16px; transition: border-color .15s, box-shadow .2s, transform .2s var(--w2-yay); }
.w2-ld-satir:focus-within { border-color: var(--turkuaz, #7DB7FF); box-shadow: 0 0 0 4px rgba(125,183,255,.18); }
.w2-ld-satir.w2-ld-tasiniyor { z-index: 3; box-shadow: var(--w2-golge-havada); transition: box-shadow .2s; border-color: var(--turkuaz, #7DB7FF); }
.w2-ld-tut { width: 32px; height: 48px; display: grid; place-items: center; color: var(--soluk2, #8792A8); cursor: grab; touch-action: none; flex: none; border-radius: 10px; }
.w2-ld-tut:hover { background: var(--panel2, #F4F6FB); color: var(--murekkep, #1A2B4C); }
.w2-ld-no { width: 30px; height: 30px; border-radius: 10px; background: var(--w2-vurgu-acik); color: var(--w2-vurgu-koyu); font-weight: 800; font-size: 14px; display: grid; place-items: center; flex: none; margin-right: 8px; }
.w2-ld-alanlar { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; margin: -4px; }
.w2-ld-alan { flex: 1 1 200px; display: flex; align-items: center; margin: 4px; min-width: 0; }
.w2-ld-resim { width: 50px; height: 50px; border-radius: 13px; border: 1.5px dashed var(--kare-koyu, #D3DDEE); background: var(--panel2, #F4F6FB); color: var(--soluk2, #8792A8); display: grid; place-items: center; flex: none; margin-right: 8px; padding: 0; overflow: hidden; transition: border-color .15s, background .15s; }
.w2-ld-resim:hover { border-color: var(--turkuaz, #7DB7FF); color: var(--eylem, #3B36D9); background: var(--a-mavi, #E6F0FF); }
.w2-ld-resim.w2-dolu { border-style: solid; border-color: var(--kare, #E4EBF6); background: #fff; }
.w2-ld-girdi { flex: 1; min-width: 0; min-height: 50px; border: 1.5px solid transparent; background: var(--panel2, #F4F6FB); border-radius: 12px; padding: 0 14px; font: inherit; font-size: 17px; color: var(--murekkep, #1A2B4C); transition: background .15s, border-color .15s; }
.w2-ld-girdi:focus { outline: none; background: #fff; border-color: var(--eylem, #3B36D9); }
.w2-ld-sil { margin-left: 6px; border-color: transparent; color: var(--soluk2, #8792A8); }
.w2-ld-sil:hover { color: #C0392B; background: #FFEDE6; }
.w2-ld-tek .w2-ld-sil { visibility: hidden; }
.w2-ld-ekle { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; border-radius: 16px; border: 2px dashed var(--kare-koyu, #D3DDEE); background: rgba(255,255,255,.6); color: var(--eylem, #3B36D9); font-weight: 700; font-size: 17px; transition: background .15s, border-color .15s, transform .12s var(--w2-yay); }
.w2-ld-ekle > * + * { margin-left: 8px; }
.w2-ld-ekle:hover { background: var(--a-mavi, #E6F0FF); border-color: var(--turkuaz, #7DB7FF); }
.w2-ld-ekle:active { transform: scale(.99); }
.w2-ld-ekle kbd { font: 700 12px/1 var(--govde); padding: 5px 7px; border-radius: 6px; background: #fff; border: 1px solid var(--cizgi, #D9E1EE); color: var(--soluk, #56647F); }
@media (max-width: 560px) { .w2-ld-ekle kbd { display: none; } .w2-ld-no { display: none; } }

/* ------------------------------------------------ banka seçici */
.w2-bs-secim { background: var(--panel2, #F4F6FB); border-radius: 16px; padding: 12px 14px; margin-bottom: 12px; }
.w2-bs-satir { display: flex; align-items: center; flex-wrap: wrap; }
.w2-bs-satir + .w2-bs-satir { margin-top: 10px; }
.w2-bs-etiket { width: 96px; font-weight: 700; color: var(--soluk, #56647F); font-size: 15px; flex: none; }
.w2-bs-satir .w2-cipler, .w2-bs-satir select, .w2-bs-kademe { flex: 1 1 300px; min-width: 0; }
.w2-bs-satir .w2-cip { min-height: var(--w2-dokun); padding: 0 13px; font-size: 14.5px; }
.w2-bs-ust { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 8px; }
.w2-bs-ust span { display: flex; }
.w2-bs-ust span > * + * { margin-left: 6px; }
.w2-bs-liste { list-style: none; margin: 0; padding: 0; max-height: 40vh; overflow: auto; }
.w2-bs-liste li + li { margin-top: 6px; }
.w2-bs-oge { display: flex; align-items: flex-start; padding: 10px 12px; border-radius: 14px; border: 1.5px solid var(--kare, #E4EBF6); cursor: pointer; transition: background .15s, border-color .15s; }
.w2-bs-oge:hover { background: var(--panel2, #F4F6FB); }
.w2-bs-oge input { position: absolute; opacity: 0; pointer-events: none; }
.w2-bs-kutu { width: 28px; height: 28px; border-radius: 9px; border: 2px solid var(--kare-koyu, #D3DDEE); display: grid; place-items: center; color: transparent; flex: none; margin-right: 12px; transition: background .15s, border-color .15s, color .15s; }
.w2-bs-oge input:checked + .w2-bs-kutu { background: var(--eylem, #3B36D9); border-color: var(--eylem, #3B36D9); color: #fff; }
.w2-bs-oge input:focus-visible + .w2-bs-kutu { box-shadow: 0 0 0 3px rgba(42,75,215,.3); }
.w2-bs-metin { font-size: 15.5px; line-height: 1.4; color: var(--murekkep, #1A2B4C); }
.w2-bs-metin em { display: block; font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--soluk, #56647F); margin-bottom: 2px; }
.w2-bs-yukleniyor { display: flex; justify-content: center; padding: 30px; }
.w2-bs-yukleniyor span { width: 12px; height: 12px; border-radius: 50%; background: var(--turkuaz, #7DB7FF); margin: 0 5px; animation: w2Nokta 1s ease-in-out infinite; }
.w2-bs-yukleniyor span:nth-child(2) { animation-delay: .15s; } .w2-bs-yukleniyor span:nth-child(3) { animation-delay: .3s; }
@keyframes w2Nokta { 0%, 100% { transform: translateY(0); opacity: .5; } 50% { transform: translateY(-8px); opacity: 1; } }

/* ------------------------------------------------ kayıtlar ve paylaş pencereleri */
.w2-kp-eylem { display: flex; flex-wrap: wrap; margin: -5px -5px 10px; }
.w2-kp-eylem > * { margin: 5px; }
.w2-kp-baslik { font-family: var(--baslik); font-size: 18px; margin: 16px 0 8px; }
.w2-kp-liste { list-style: none; margin: 0; padding: 0; }
.w2-kp-liste li { display: flex; align-items: center; }
.w2-kp-liste li + li { margin-top: 6px; }
.w2-kp-oge { flex: 1; display: flex; flex-direction: column; align-items: flex-start; min-height: 56px; justify-content: center; padding: 6px 14px; margin-right: 8px; border-radius: 14px; border: 1.5px solid var(--kare, #E4EBF6); background: #fff; text-align: left; transition: background .15s, border-color .15s; }
.w2-kp-oge:hover { background: var(--a-mavi, #E6F0FF); border-color: var(--turkuaz, #7DB7FF); }
.w2-kp-oge b { font-size: 17px; } .w2-kp-oge span { font-size: 13.5px; color: var(--soluk, #56647F); }
.w2-kp-bos { color: var(--soluk, #56647F); font-size: 15.5px; background: var(--panel2, #F4F6FB); border-radius: 14px; padding: 14px 16px; margin: 0; }
.w2-pp-satir { display: flex; }
.w2-pp-satir input { flex: 1; min-width: 0; margin-right: 8px; font-size: 15px; color: var(--soluk, #56647F); }
.w2-pp-alt { display: flex; flex-wrap: wrap; align-items: center; margin-top: 16px; }
.w2-pp-qr { flex: 0 0 auto; margin-right: 22px; }
.w2-pp-qr-yer { width: 240px; height: 240px; border-radius: 18px; border: 1.5px solid var(--kare, #E4EBF6); display: grid; place-items: center; color: var(--soluk, #56647F); background: #fff; padding: 8px; box-sizing: border-box; box-shadow: var(--w2-golge-yuzey); }
.w2-pp-qr-yer svg { width: 100%; height: 100%; }
.w2-pp-qr-yer.w2-hazir svg { animation: w2QrGir .5s var(--w2-yay) both; }
@keyframes w2QrGir { from { opacity: 0; transform: scale(.94); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
.w2-pp-uyari { max-width: 260px; background: var(--a-sari, #FFF6CC); border-radius: 14px; padding: 14px; margin: 0; font-size: 15px; }
.w2-pp-ipucu { flex: 1 1 260px; list-style: none; margin: 0; padding: 0; color: var(--soluk, #56647F); font-size: 15.5px; }
.w2-pp-ipucu li { display: flex; align-items: flex-start; }
.w2-pp-ipucu li + li { margin-top: 10px; }
.w2-pp-ipucu .w2-svg { flex: none; margin: 2px 10px 0 0; color: var(--eylem, #3B36D9); }
@media (max-width: 560px) { .w2-pp-qr { margin: 0 auto 14px; } .w2-pp-qr-yer { width: 220px; height: 220px; } }

/* ------------------------------------------------ şablon sahnesi: kabın tamamını doldurur, taşarsa kendi içinde kayar */
.w2-sahne { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: auto; -webkit-overflow-scrolling: touch; }

/* ------------------------------------------------ sonuç ekranı (kabın görünen alanını örter) */
.w2-sonuc { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 50; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(252,253,255,0); transition: background .3s; }
.w2-sonuc.w2-acik { background: rgba(252,253,255,.72); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.w2-sonuc-kart { width: 100%; max-width: 520px; max-height: 100%; overflow: auto; background: #fff; border-radius: 26px; padding: 26px 26px 22px; text-align: center; box-shadow: var(--w2-golge-havada), 0 0 0 1px rgba(26,43,76,.05); opacity: 0; transform: translateY(16px) scale(.97); transition: transform .45s var(--w2-yay), opacity .3s; }
.w2-sonuc.w2-acik .w2-sonuc-kart { opacity: 1; transform: none; }
.w2-sonuc-yildizlar { display: flex; justify-content: center; align-items: flex-end; margin-bottom: 6px; }
.w2-sonuc-yildiz { color: #E4EBF6; margin: 0 4px; }
.w2-sonuc-yildiz:nth-child(2) { transform: translateY(-12px) scale(1.18); }
.w2-sonuc-yildiz svg { width: 64px; height: 64px; }
.w2-sonuc-yildiz.w2-dolu { color: #F2B705; }
.w2-sonuc-yildiz.w2-dolu svg { fill: #FFD84D; filter: drop-shadow(0 6px 10px rgba(242,183,5,.4)); }
.w2-sonuc.w2-acik .w2-sonuc-yildiz.w2-dolu svg { animation: w2Yildiz .6s var(--w2-yay) both; animation-delay: calc(var(--i) * .16s + .2s); }
@keyframes w2Yildiz { from { opacity: 0; transform: scale(.4) rotate(-30deg); } 70% { opacity: 1; transform: scale(1.15) rotate(6deg); } to { opacity: 1; transform: none; } }
.w2-sonuc-baslik { font-family: var(--baslik); font-size: clamp(30px, 3.4vw, 42px); font-weight: 800; letter-spacing: -.025em; margin: 6px 0 14px; }
.w2-sonuc-sayilar { display: flex; justify-content: center; margin: 0 -6px 16px; }
.w2-sonuc-sayilar > div { flex: 1; margin: 0 6px; background: var(--panel2, #F4F6FB); border-radius: 16px; padding: 12px 8px; }
.w2-sonuc-sayilar b { display: block; font-family: var(--baslik); font-size: 28px; font-weight: 800; color: var(--eylem, #3B36D9); font-variant-numeric: tabular-nums; line-height: 1.1; }
.w2-sonuc-sayilar span { font-size: 14px; color: var(--soluk, #56647F); font-weight: 700; }
.w2-sonuc-skor { display: flex; margin-bottom: 10px; }
.w2-sonuc-skor input { flex: 1; min-width: 0; margin-right: 8px; }
.w2-sonuc-tablo { list-style: none; margin: 0 0 14px; padding: 0; text-align: left; }
.w2-sonuc-tablo li { display: flex; align-items: center; padding: 8px 12px; border-radius: 12px; }
.w2-sonuc-tablo li:nth-child(odd) { background: var(--panel2, #F4F6FB); }
.w2-sonuc-tablo li span { width: 30px; font-weight: 800; color: var(--soluk, #56647F); }
.w2-sonuc-tablo li b { flex: 1; } .w2-sonuc-tablo li em { font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; }
.w2-sonuc-tablo li.w2-vurgu { background: var(--fosfor, #FFE66B); animation: w2Vurgu .6s var(--w2-yay); }
@keyframes w2Vurgu { from { transform: scale(.96); } to { transform: none; } }
.w2-sonuc-eylem { display: flex; justify-content: center; flex-wrap: wrap; margin: -5px; }
.w2-sonuc-eylem > * { margin: 5px; }
.w2-oo .w2-sonuc-yildiz svg { width: 96px; height: 96px; }

/* ------------------------------------------------ efektler */
.w2-efekt { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 2500; }
.w2-dalga { position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(42,75,215,.18) 0, rgba(42,75,215,.08) 40%, rgba(42,75,215,0) 70%); transform: scale(0); animation: w2Dalga .6s var(--w2-yay) forwards; pointer-events: none; }
@keyframes w2Dalga { to { transform: scale(1); opacity: 0; } }

/* ------------------------------------------------ okul öncesi kipi: daha büyük dokunma alanları */
.w2-oo { --w2-dokun: 64px; }
.w2-oo .w2-dugme { min-height: 64px; font-size: 20px; border-radius: 18px; }

/* ------------------------------------------------ dokunmatik: hover yalnız fare */
@media (hover: none) {
  .w2-rs-oge:hover { transform: none; box-shadow: none; }
  .w2-dugme:hover { background: var(--eylem, #3B36D9); }
  .w2-dugme.w2-ikincil:hover { background: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  .w2-serit, .w2-modal, .w2-perde, .w2-menu, .w2-bildirim, .w2-sekme-gosterge, .w2-sonuc, .w2-sonuc-kart, .w2-ld-satir { transition: opacity .15s !important; }
  .w2-modal, .w2-sonuc-kart, .w2-menu { transform: none !important; }
  .w2-sonuc-yildiz svg, .w2-pp-qr-yer svg, .w2-resim-bekle, .w2-bs-yukleniyor span { animation: none !important; }
}

/* ------------------------------------------------ yazdırma: kabuk gizlenir, araç kendi .w2-yazdir alanını gösterebilir */
@media print {
  body.w2-sayfa { background: #fff !important; }
  .w2-serit, .w2-bildirim, .w2-efekt, .sa-cb, .sa-cb-zemin, .w2-yazdirma, .w2-perde { display: none !important; }
  /* sitenin yüzen gezinme ve araç çubuğu düğmeleri kâğıda basılmaz (sinif/gezinme.js "gz-", sinif/cubuk.js "sa-cb") */
  body.w2-sayfa > [class^="gz-"], body.w2-sayfa > [class*=" gz-"], .gz-dok, .gz-rozet, .gz-serit, [class^="sa-cb"], [class*=" sa-cb"] { display: none !important; }
  .w2-sayfa .w2-ana, .w2-sayfa .w2-ana.w2-sabit { height: auto !important; min-height: 0 !important; overflow: visible !important; padding: 0 !important; }
  .w2-kart { box-shadow: none !important; }
  @page { size: A4; margin: 14mm; }
}
.w2-yalniz-yazdir { display: none; }
@media print { .w2-yalniz-yazdir { display: block; } }
