:root{
  --bg:#f6f7fb;--card:#fff;--ink:#1f2340;--muted:#646a8a;--line:#e3e6f0;
  --brand:#5b4bdb;--brand2:#ff8a3d;--ok:#1fa971;--bad:#e5484d;--soft:#eeebff;
  --r:16px;--shadow:0 4px 18px rgba(40,40,90,.08);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.55 "Nunito","Segoe UI",system-ui,sans-serif}
a{color:var(--brand)}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
header.top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;align-items:center;gap:12px;min-height:60px;flex-wrap:wrap}
.logo{font-weight:900;font-size:1.25rem;color:var(--brand);text-decoration:none;display:flex;gap:8px;align-items:center}
.logo span{background:var(--brand2);color:#fff;border-radius:8px;padding:0 8px}
.logo img{width:50px;height:50px;margin:-6px 0;flex:none}
footer .alt-logo{display:flex;width:max-content;margin:0 auto;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--brand);margin-bottom:10px}
footer .alt-logo b{font-weight:900;font-size:1rem}footer .alt-logo span{background:var(--brand2);color:#fff;border-radius:6px;padding:0 6px}

nav.menu{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
nav.menu a{padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem}
nav.menu a:hover,nav.menu a.on{background:var(--soft);color:var(--brand)}
main{padding:24px 0 48px}
h1{font-size:1.9rem;margin:.2em 0 .4em;line-height:1.2}
h2{font-size:1.35rem;margin:1.4em 0 .5em}
h3{margin:.2em 0 .4em}
.muted{color:var(--muted)}
.hero{background:linear-gradient(135deg,#5b4bdb,#8a5bf0);color:#fff;border-radius:24px;padding:32px 24px;box-shadow:var(--shadow)}
.hero h1{color:#fff}.hero p{opacity:.95;max-width:640px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.card.link{text-decoration:none;color:inherit;transition:transform .15s}
.card.link:hover{transform:translateY(-3px)}
.ico{font-size:2rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;padding:12px 18px;font:inherit;font-weight:800;cursor:pointer;background:var(--brand);color:#fff;text-decoration:none}
.btn.alt{background:var(--soft);color:var(--brand)}
.btn.orange{background:var(--brand2)}
.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pill{display:inline-block;padding:3px 10px;border-radius:99px;background:var(--soft);color:var(--brand);font-weight:800;font-size:.8rem}
select,input[type=text],input[type=number],input[type=search]{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);min-width:0}
label.opt{display:flex;gap:10px;align-items:center;padding:12px;border:2px solid var(--line);border-radius:12px;cursor:pointer;background:#fff;font-weight:700}
label.opt:has(input:checked){border-color:var(--brand);background:var(--soft)}
/* test */
.qhead{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.timer{font-weight:900;font-variant-numeric:tabular-nums;background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:10px}
.timer.low{color:var(--bad);border-color:var(--bad)}
.progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:16px}
.progress>i{display:block;height:100%;background:var(--brand);transition:width .3s}
.qtext{font-size:1.15rem;font-weight:800;margin:0 0 12px}
.stem{display:flex;justify-content:center;margin:8px 0 18px;overflow-x:auto}
.stem svg{max-width:100%;height:auto}
.opts{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}
.opts.six{grid-template-columns:repeat(3,1fr)}
.opts button{background:#fff;border:3px solid var(--line);border-radius:14px;padding:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font:inherit;font-weight:900;color:var(--ink);min-height:64px;justify-content:center}
.opts button:hover{border-color:#c9c2ff}
.opts button.sel{border-color:var(--brand);background:var(--soft)}
.opts button.good{border-color:var(--ok);background:#e4f7ef}
.opts button.wrong{border-color:var(--bad);background:#fdeaea}
.opts button svg{width:100%;max-width:110px;height:auto}
.opts .lbl{font-size:.85rem;color:var(--muted)}
.qnav{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.qnav button{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:#fff;font:inherit;font-weight:800;cursor:pointer;font-size:.8rem}
.qnav button.done{background:var(--soft);color:var(--brand);border-color:#c9c2ff}
.qnav button.cur{outline:3px solid var(--brand2)}
.memo{font-size:1.1rem;font-weight:800;text-align:center;color:var(--brand2)}
.score{font-size:3rem;font-weight:900;color:var(--brand)}
.bars .b{display:grid;grid-template-columns:130px 1fr 52px;gap:10px;align-items:center;margin:8px 0}
.bars .t{height:14px;background:var(--line);border-radius:99px;overflow:hidden}
.bars .t>i{display:block;height:100%;background:var(--ok)}
table.list{width:100%;border-collapse:collapse;font-size:.95rem}
table.list th,table.list td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
.tablewrap{overflow-x:auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:8px 0}
.faq summary{font-weight:800;cursor:pointer}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding:0 0 16px 48px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;font-weight:900;display:grid;place-items:center}
.note{background:#fff7ec;border:1px solid #ffd9b3;border-radius:12px;padding:12px 16px}
footer{color:var(--muted);font-size:.85rem;text-align:center;padding:24px 16px;border-top:1px solid var(--line)}
.hide{display:none!important}
.simon{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:320px;margin:16px auto}
.simon button{aspect-ratio:1;border-radius:16px;border:0;cursor:pointer;opacity:.45;transition:opacity .1s,transform .1s}
.simon button.lit{opacity:1;transform:scale(1.05)}
@media (max-width:640px){
  h1{font-size:1.5rem}
  .opts{grid-template-columns:repeat(2,1fr)}
  .opts.six{grid-template-columns:repeat(3,1fr)}
  .opts button{padding:4px;min-height:56px}
  .bars .b{grid-template-columns:90px 1fr 44px}
}

/* Gemini'nin çizdiği (temizlenmiş) SVG görseller */
.svg-cizim{display:flex;justify-content:center}
.svg-cizim svg{width:100%;height:auto}
.svg-soru{width:100%}
.svg-soru svg{max-width:460px;max-height:300px}
.svg-sik{width:100%}
.svg-sik svg{max-width:120px;max-height:120px}

/* Emoji/kelime kartları (kavram soruları) */
.kartlar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.kartlar .kart{min-width:84px;min-height:84px;padding:10px 14px;border-radius:18px;background:#fff;border:3px solid #e3e6f0;display:grid;place-items:center;font-size:1.3rem;font-weight:900;box-shadow:0 4px 12px rgba(40,40,90,.06)}
.kartlar .kart.emoji{font-size:3rem;line-height:1}
.kartlar .kart.soru{border-style:dashed;border-color:#ff8a3d;background:#fff7ec;color:#ff8a3d;font-size:2.4rem}
@media (max-width:520px){.kartlar .kart{min-width:66px;min-height:66px}.kartlar .kart.emoji{font-size:2.3rem}}

/* Oyunlar */
.oy-liste{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.oy-kart{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;cursor:pointer;text-align:left;font:inherit;color:inherit;padding:0;transition:transform .15s,box-shadow .15s}
.oy-kart:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(40,40,90,.14)}
.oy-kart .ust{background:var(--oy);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px}
.oy-kart .ust i{font-style:normal;font-size:2.3rem;background:rgba(255,255,255,.22);border-radius:16px;width:56px;height:56px;display:grid;place-items:center}
.oy-kart .ust b{font-size:1.15rem}
.oy-kart .alt{padding:14px 18px;display:grid;gap:8px;flex:1}
.oy-kart .alt p{margin:0;color:var(--muted);font-size:.93rem}
.oy-kart .svb{display:flex;gap:3px}.oy-kart .svb span{flex:1;height:7px;border-radius:99px;background:var(--line)}.oy-kart .svb span.d{background:var(--oy)}
.oy-bas{display:flex;gap:14px;align-items:center;background:var(--oy);color:#fff;border-radius:18px;padding:16px 18px}
.oy-bas h2{margin:0;color:#fff}.oy-bas p{margin:4px 0 0;opacity:.95}
.oy-ikon{font-size:2.6rem;background:rgba(255,255,255,.22);border-radius:16px;width:64px;height:64px;display:grid;place-items:center;flex:none}
.oy-sv{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;max-width:560px}
.oy-sv button{aspect-ratio:1;border-radius:12px;border:2px solid var(--line);background:#fff;font:inherit;font-weight:900;cursor:pointer;color:var(--ink);padding:0}
.oy-sv button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.oy-sv button:disabled{opacity:.45;cursor:not-allowed;font-size:.8rem}
.oy-sonuc{margin-top:14px;border-radius:16px;padding:14px 16px;background:#fff7ec;border:1px solid #ffd9b3;text-align:center;display:grid;gap:4px}
.oy-sonuc.iyi{background:#e4f7ef;border-color:#a6e3c8}
.oy-sonuc .yildiz{font-size:2rem;color:#f2a516;letter-spacing:4px}.oy-sonuc .yildiz span{color:#d8dbe6}
.oy-izgara{display:grid;gap:8px;max-width:460px;margin:0 auto}
.oy-izgara button{aspect-ratio:1;border-radius:14px;border:2px solid var(--line);background:#fff;font:inherit;font-weight:900;font-size:1.35rem;cursor:pointer;color:var(--ink);padding:0}
.oy-izgara button.ok{background:#e4f7ef;border-color:var(--ok);color:var(--ok);opacity:.55}
.oy-izgara button.wrong{background:#fdeaea;border-color:var(--bad)}
.oy-kartlar{display:grid;gap:10px;max-width:520px;margin:0 auto}
.oy-kartlar .kart{aspect-ratio:3/4;border-radius:14px;border:0;cursor:pointer;font-size:2.8rem;padding:0;position:relative;background:linear-gradient(135deg,#ff8a3d,#ffb36b);color:#fff;transition:transform .25s}
.oy-kartlar .kart .on{display:none}.oy-kartlar .kart .arka{font-size:1.4rem;opacity:.8}
.oy-kartlar .kart.ac{background:#fff;border:3px solid #ffd9b3}
.oy-kartlar .kart.ac .on{display:inline}.oy-kartlar .kart.ac .arka{display:none}
.oy-kartlar .kart.tamam{border-color:var(--ok);background:#e4f7ef}
.oy-konum{display:grid;gap:8px;max-width:400px;margin:0 auto}
.oy-konum button{aspect-ratio:1;border-radius:12px;border:2px solid var(--line);background:#fff;cursor:pointer;padding:0;transition:background .15s}
.oy-konum button.yan{background:#9b59b6;border-color:#9b59b6}
.oy-konum button.dogru{background:#1fa971;border-color:#1fa971}
.oy-konum button.yanlis{background:var(--bad);border-color:var(--bad)}
.oy-konum button.goster:not(.dogru){border:3px dashed #9b59b6}
.oy-dizi{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.oy-dizi span{min-width:52px;height:52px;padding:0 8px;border-radius:14px;background:#fff;border:2px solid var(--line);display:grid;place-items:center;font-size:1.6rem;font-weight:900}
.oy-dizi .soru{border:2px dashed var(--brand2);color:var(--brand2);background:#fff7ec}
.oy-islem{font-size:2.4rem;font-weight:900;text-align:center;margin:14px 0 18px;font-variant-numeric:tabular-nums}
@media (max-width:520px){.oy-sv{grid-template-columns:repeat(5,1fr)}.oy-dizi span{min-width:40px;height:42px;font-size:1.25rem}.oy-kartlar .kart{font-size:2.2rem}.oy-izgara button{font-size:1.1rem}.oy-bas{padding:12px}.oy-ikon{width:52px;height:52px;font-size:2rem}}
.oy-fark{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.oy-fark small{display:block;text-align:center;font-weight:800;margin-bottom:4px}
.oy-fizgara{display:grid;gap:4px;background:#f0f1f7;border-radius:14px;padding:6px}
.oy-fizgara>*{aspect-ratio:1;border-radius:10px;border:2px solid transparent;background:#fff;display:grid;place-items:center;font-size:1.6rem;padding:0;font-family:inherit;line-height:1}
.oy-fizgara button{cursor:pointer}
.oy-fizgara .ok{border-color:var(--ok);background:#e4f7ef}
.oy-fizgara .wrong{border-color:var(--bad);background:#fdeaea}
.oy-hedef{position:relative;display:flex;justify-content:center;align-items:center;margin:6px auto;max-width:180px;min-height:110px;background:#fff7ec;border:2px dashed #ffd9b3;border-radius:18px;padding:10px}
.ayna-cizgi{position:absolute;right:-14px;top:8px;bottom:8px;width:6px;border-radius:4px;background:linear-gradient(#bfe6ff,#6cc4ff)}
.golge{font-size:2.8rem;line-height:1.1;filter:brightness(0);opacity:.85;display:inline-block}
.golge.ac{filter:none;opacity:1}
.oy-sahne{height:150px;display:grid;place-items:center;font-size:5rem;position:relative}
.oy-sahne small{position:absolute;top:6px;right:12px;font-size:1rem;font-weight:900;color:var(--muted)}
.oy-sahne .pop{animation:oyPop .35s ease}
@keyframes oyPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.oy-cevap{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:6px 0 14px}
.oy-cevap span{width:52px;height:52px;border-radius:12px;border:2px dashed var(--line);display:grid;place-items:center;font-size:1.8rem}
.oy-cevap span.ok{border:2px solid var(--ok);background:#e4f7ef}
.oy-cevap span.goster{border:2px solid var(--bad);background:#fdeaea;opacity:.8}
.oy-havuz{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.oy-havuz button{width:62px;height:62px;border-radius:14px;border:2px solid var(--line);background:#fff;font-size:2rem;cursor:pointer;padding:0}
.oy-havuz button:disabled{opacity:.3}
.oy-havuz button.wrong{border-color:var(--bad);background:#fdeaea}
@media (max-width:520px){.oy-fark{gap:6px}.oy-fizgara{padding:3px;gap:3px}.oy-fizgara>*{font-size:1.05rem;border-radius:7px}.golge{font-size:2.2rem}.oy-cevap span{width:42px;height:42px;font-size:1.4rem}.oy-havuz button{width:52px;height:52px;font-size:1.6rem}}
/* 3. parti oyunları */
.oy-aciklama{min-height:1.4em;text-align:center;font-weight:700;margin:10px 0 0}
.oy-teraziler{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.oy-terazi{width:210px;display:flex;flex-direction:column;align-items:center}
.oy-terazi .kol{width:100%;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:5px solid #8a6a3d;border-radius:4px;transform:rotate(var(--egim));transition:transform .4s;padding:0 2px;min-height:58px}
.oy-terazi .kefe{min-width:76px;max-width:98px;display:flex;flex-wrap:wrap;justify-content:center;gap:1px;background:#fff7ec;border:2px solid #e3c79c;border-bottom:0;border-radius:40px 40px 0 0;padding:6px 6px 2px;font-size:1.35rem;line-height:1.1}
.oy-terazi .ayak{width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:34px solid #8a6a3d;margin-top:-1px}
.oy-labirent{display:grid;max-width:440px;margin:0 auto;border:3px solid #1f2340;border-radius:6px;background:#fff}
.oy-labirent>div{aspect-ratio:1;border:0 solid #1f2340;display:grid;place-items:center;font-size:clamp(.7rem,4vw,1.4rem);line-height:1;cursor:pointer;box-sizing:border-box}
.oy-oklar{display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(2,52px);gap:6px;justify-content:center;margin-top:12px}
.oy-oklar button{border-radius:14px;border:2px solid var(--line);background:#fff;font-size:1.5rem;cursor:pointer}
.oy-oklar [data-d="0"]{grid-column:2}.oy-oklar [data-d="3"]{grid-column:1;grid-row:2}.oy-oklar [data-d="2"]{grid-column:2;grid-row:2}.oy-oklar [data-d="1"]{grid-column:3;grid-row:2}
.renk-kare{width:46px;height:46px;border-radius:10px;border:2px solid #1f2340;display:block}
.oy-adimlar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
.oy-adimlar>div{display:flex;flex-direction:column;align-items:center;width:100px}
.oy-adimlar small{font-weight:700;color:var(--muted);text-align:center;font-size:.75rem}
.oy-adimlar .ok{font-size:1.4rem;font-weight:900;color:var(--muted)}
.oy-iliski{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;font-weight:900;font-size:1.1rem}
.oy-iliski span{background:#fff;border:2px solid var(--line);border-radius:12px;padding:8px 12px}
.oy-iliski span.soru{border:2px dashed var(--brand2);color:var(--brand2);background:#fff7ec}
.oy-iliski i{font-style:normal;color:var(--muted)}.oy-iliski b{color:var(--brand)}
.oy-ipucu{background:#fff7ec;border:1px solid #ffd9b3;border-radius:14px;padding:10px 14px 10px 32px;margin:0 0 12px;font-weight:700;line-height:1.7}
.oy-sira{display:flex;gap:8px;justify-content:center}
.oy-sira span{width:56px;height:56px;border-radius:14px;border:2px solid var(--line);background:#fff;display:grid;place-items:center;font-weight:900;font-size:1.5rem;position:relative;color:var(--brand2)}
.oy-sira span.soru{border:2px dashed var(--brand2);background:#fff7ec}
.oy-sira small{position:absolute;bottom:-18px;font-size:.75rem;color:var(--muted)}
.oy-sudoku{display:grid;max-width:360px;margin:0 auto;border:3px solid #1f2340;border-radius:8px;overflow:hidden}
.oy-sudoku button{aspect-ratio:1;border:1px solid #c9cde0;background:#fff;font-size:1.6rem;padding:0;cursor:default}
.oy-sudoku .sabit{background:#f0f1f7}
.oy-sudoku .bos{cursor:pointer}.oy-sudoku .bos.sec{background:#eeebff;box-shadow:inset 0 0 0 3px var(--brand)}
.oy-sudoku .dogru{background:#e4f7ef}.oy-sudoku .yanlis{background:#fdeaea!important}
@media (max-width:520px){.oy-terazi{width:160px}.oy-terazi .kefe{min-width:60px;font-size:1.05rem}.oy-adimlar>div{width:74px}.oy-sudoku button{font-size:1.25rem}.renk-kare{width:38px;height:38px}.oy-sira span{width:46px;height:46px}}

/* ---------- Odaklı test ekranı (telefon / tablet) ---------- */
.qfb{margin-top:12px;font-weight:800}
.oyun-alan{margin-top:20px}
.qfb:empty{display:none}
.qbar{margin-top:16px;justify-content:space-between}
.odak-cik{margin-left:auto;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--muted);font:inherit;font-size:1.1rem;font-weight:900;cursor:pointer;display:grid;place-items:center;flex:none}
.qhead .timer{order:2}
.qhead .odak-cik{order:3}
.opts button svg{max-width:var(--sik,110px)}
.opts button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.qbar .btn,.qnav button,.odak-cik{touch-action:manipulation}
@media (max-width:1023px),(max-height:760px){
  body.odak header.top,body.odak footer{display:none!important}
  body.odak main{padding:8px 0 0}
  body.odak .odak-gizle{display:none!important}
  body.odak .oyun-alan{margin-top:0}
  body.odak .qhead{margin-bottom:6px}
  body.odak .progress{margin-bottom:8px;height:6px}
  body.odak .qcard{padding:12px 14px}
  body.odak .qtext{font-size:1.05rem;margin:0 0 6px;line-height:1.35}
  body.odak .stem{margin:4px 0 10px}
  body.odak .qbar{position:sticky;bottom:0;z-index:4;background:var(--bg);margin:8px -16px 0;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);flex-wrap:nowrap;gap:8px}
  body.odak .qbar .btn{flex:1;padding:12px 8px;min-height:48px}
  body.odak .qbar #bEnd{flex:.9}
  body.odak .qnav{margin-top:12px;padding-bottom:12px}
  body.odak .qnav button{width:40px;height:40px}
}
@media (max-width:640px){
  .opts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .opts.uzun{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opts.six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .opts.six{grid-template-columns:repeat(3,1fr)}
  .opts button{border-width:2px;border-radius:12px;min-height:60px;font-size:1.05rem}
  .opts button svg{max-width:var(--sik,78px);max-height:var(--sik,78px)}
  .opts .lbl{font-size:.75rem}
  .opts .svg-sik svg{max-width:var(--sik,78px);max-height:var(--sik,78px)}
}
@media (max-width:360px){
  .opts{gap:6px}
  .opts button{min-height:52px;padding:3px}
  .opts button svg,.opts .svg-sik svg{max-width:var(--sik,62px);max-height:var(--sik,62px)}
  body.odak .qhead .pill{font-size:.72rem;padding:3px 8px}
  body.odak .qhead .timer{padding:4px 8px;font-size:.9rem}
  body.odak .odak-cik{width:36px;height:36px}
  body.odak .qtext{font-size:.98rem}
}
body.odak .qhead{flex-wrap:nowrap}
body.odak .qhead .pill{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* telefon yatay: soru solda, şıklar sağda */
@media (orientation:landscape) and (max-height:560px){
  body.odak .qcard{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0 14px;align-items:center}
  body.odak .qcard .qtext,body.odak .qcard .qfb{grid-column:1/-1}
  body.odak .qcard .stem{margin:0}
  body.odak .qcard .stem.hide+.opts{grid-column:1/-1}
  body.odak main{padding-top:4px}
  body.odak .qhead{margin-bottom:4px}
  body.odak .progress{margin-bottom:6px;height:4px}
  body.odak .qcard{padding:8px 12px}
  body.odak .qtext{font-size:.95rem;margin:0 0 4px}
  body.odak .opts{grid-template-columns:repeat(4,1fr);gap:6px}
  body.odak .opts.uzun{grid-template-columns:repeat(2,1fr)}
  body.odak .opts.six{grid-template-columns:repeat(3,1fr)}
  body.odak .opts button{min-height:48px;padding:3px;border-width:2px}
  body.odak .opts button svg,body.odak .opts .svg-sik svg{max-width:var(--sik,58px);max-height:var(--sik,58px)}
  body.odak .opts .lbl{font-size:.7rem}
  body.odak .qbar{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}
  body.odak .qbar .btn{min-height:42px;padding:8px}
}

/* ---------- Telefon/tablet menüsü (☰) ---------- */
.menu-ac,.hizli-giris{display:none}
@media (max-width:900px){
  header.top .wrap{flex-wrap:nowrap;min-height:60px;position:relative}
  .logo{font-size:1.1rem}
  .logo img{width:42px;height:42px;margin:-4px 0}
  .hizli-giris{display:inline-flex;margin-left:auto;padding:8px 14px;min-height:42px;font-size:.95rem}
  .hizli-giris.hide{display:none!important}
  .menu-ac{display:grid;align-content:center;gap:5px;width:46px;height:46px;flex:none;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;padding:0 11px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .hizli-giris.hide+.menu-ac{margin-left:auto}
  .menu-ac i{display:block;height:3px;border-radius:3px;background:var(--brand);transition:transform .2s,opacity .2s}
  header.top.menu-acik .menu-ac i:nth-child(1){transform:translateY(8px) rotate(45deg)}
  header.top.menu-acik .menu-ac i:nth-child(2){opacity:0}
  header.top.menu-acik .menu-ac i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  nav.menu{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:8px 12px 14px;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 14px 24px rgba(40,40,90,.12);flex-direction:column;gap:2px;max-height:calc(100dvh - 64px);overflow-y:auto;width:auto}
  header.top.menu-acik nav.menu{display:flex}
  nav.menu a{padding:13px 14px;font-size:1.05rem;border-radius:12px;white-space:normal}
  nav.menu #hesapMenu a:first-child{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 12px 12px}
}
@media (min-width:600px) and (max-width:900px){
  header.top.menu-acik nav.menu{display:grid;grid-template-columns:1fr 1fr;column-gap:8px}
  nav.menu #hesapMenu a:first-child{border-top:0;margin-top:0;border-radius:12px}
}

/* ---------- Telefon: şıklar taşmasın, tablolar kart olsun ---------- */
.opts button{min-width:0;overflow-wrap:anywhere}
.opts button svg{max-width:100%}
@media (max-width:640px){
  table.list.kartli,table.list.kartli tbody{display:block}
  table.list.kartli tr.tb-bas{display:none}
  table.list.kartli tr{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:0 0 8px;background:#fff}
  table.list.kartli td{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px 6px;border:0;padding:2px 0;min-width:0;max-width:100%;overflow-wrap:anywhere;font-size:.92rem}
  table.list.kartli td::before{content:attr(data-et);font-weight:700;color:var(--muted);font-size:.78rem}
  table.list.kartli td:first-child{flex-basis:100%;font-size:1.02rem}
  table.list.kartli td:first-child::before{display:none}
  table.list.kartli td[data-et=""]::before{display:none}
  table.list.kartli td:empty{display:none}
  table.list.kartli td:has(button,.btn,select,input,textarea){flex-basis:100%}
  table.list.kartli td:has(button,.btn):not(:has(input,select,textarea)){display:flex;gap:6px}
  table.list.kartli td:has(button,.btn):not(:has(input,select,textarea))>.btn,table.list.kartli td:has(button,.btn):not(:has(input,select,textarea))>button{flex:1;min-height:40px;padding:8px 10px}
  table.list.kartli td:has(button,.btn):not(:has(input,select,textarea))::before{display:none}
  table.list.kartli td .row{gap:6px;width:100%}
  table.list.kartli td input,table.list.kartli td select{max-width:100%}
  .tablewrap:has(table.kartli){overflow:visible}
}
/* parmakla dokunma: küçük düğme ve bağlantılar en az 40px */
@media (pointer:coarse){
  .btn{min-height:44px}
  .pill a,a.pill{display:inline-flex;align-items:center;min-height:32px}
  footer a{display:inline-block;padding:6px 2px}
  select,input[type=text],input[type=number],input[type=search],input[type=email],input[type=password]{min-height:44px;font-size:16px}
  label.opt{min-height:48px}
}
@media (max-width:640px){
  .grid:has(>.card>.score){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .grid>.card:has(>.score){padding:12px 14px}
  .grid>.card>.score{font-size:2rem;line-height:1.1}
}
fieldset{min-width:0;max-width:100%}
select,input,textarea{max-width:100%}
.row>label{max-width:100%}
[style*="display:grid"]>*,.grid>*{min-width:0}

/* ---------- Ana ekrana ekle / uygulama kipi ---------- */
.kur-serit{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 10px 10px 12px;box-shadow:0 12px 30px rgba(40,40,90,.2);max-width:520px;margin:0 auto}
.kur-serit img{border-radius:12px;flex:none}
.kur-serit div{flex:1;min-width:0;display:grid;line-height:1.25}
.kur-serit small{color:var(--muted)}
.kur-serit .btn{padding:10px 16px;min-height:44px}
.kur-x{border:0;background:none;color:var(--muted);font-size:1.1rem;width:36px;height:44px;cursor:pointer;flex:none}
body.odak .kur-serit{display:none}
nav.menu a.kur-ac{color:var(--brand2)}
/* çentikli ekranlar (viewport-fit=cover) */
header.top{padding-top:env(safe-area-inset-top)}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
html.uygulama body.odak main{padding-top:calc(8px + env(safe-area-inset-top))}
html.uygulama{-webkit-tap-highlight-color:transparent}