/* Yerleşim: masaüstünde sol menü + içerik; telefonda alt sekme çubuğu. Taş-gri zemin, ardıç yeşili vurgu, buğday sarısı olaylar. */
:root{
  --bg:#EEF0EC; --surface:#FFFFFF; --sunk:#E3E7E1; --line:#CDD3CB;
  --ink:#1D2824; --muted:#5B6863; --accent:#2F5D50; --accent-ink:#FFFFFF; --accent-soft:#DCE8E2;
  --wheat:#A8741C; --wheat-soft:#F4E8CF; --mourn:#4A4553; --mourn-soft:#E6E3EA; --wed:#A23B3B; --wed-soft:#F5E0DE;
  --ok:#2E7D4F; --warn:#B26A00;
  --skin:#EBC7A3; --hair:#4A3426; --grey:#B9B4AE; --cap:#3D4743; --scarf:#8E5A8A; --eye:#2A211C; --cheek:#E9998A;
  --youth:#3F6FA0; --youth-soft:#DCE6F1; --rose:#C25A78; --child-soft:#F6E1E6;
  --f-display:"Alegreya", Georgia, "Times New Roman", serif;
  --f-body:"Source Sans 3", "Segoe UI", system-ui, sans-serif;
  --r:10px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#141A18; --surface:#1C2421; --sunk:#232D29; --line:#33403B;
  --ink:#E6ECE8; --muted:#9AA8A2; --accent:#7FB8A5; --accent-ink:#0E1A16; --accent-soft:#24382F;
  --wheat:#E0B35E; --wheat-soft:#3A3020; --mourn:#C2BBCC; --mourn-soft:#2D2A33; --wed:#E58A82; --wed-soft:#3A2423;
  --ok:#6CC596; --warn:#E8A84A;
  --skin:#D4AE8A; --hair:#2E211A; --grey:#CFC9C2; --cap:#59645F; --scarf:#9C6C98; --eye:#1E1713; --cheek:#D98272;
  --youth:#7FA6D1; --youth-soft:#22303F; --rose:#E08AA2; --child-soft:#3A2830; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#141A18; --surface:#1C2421; --sunk:#232D29; --line:#33403B;
  --ink:#E6ECE8; --muted:#9AA8A2; --accent:#7FB8A5; --accent-ink:#0E1A16; --accent-soft:#24382F;
  --wheat:#E0B35E; --wheat-soft:#3A3020; --mourn:#C2BBCC; --mourn-soft:#2D2A33; --wed:#E58A82; --wed-soft:#3A2423;
  --ok:#6CC596; --warn:#E8A84A;
  --skin:#D4AE8A; --hair:#2E211A; --grey:#CFC9C2; --cap:#59645F; --scarf:#9C6C98; --eye:#1E1713; --cheek:#D98272;
  --youth:#7FA6D1; --youth-soft:#22303F; --rose:#E08AA2; --child-soft:#3A2830; color-scheme:dark}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.5}
*{box-sizing:border-box}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.15}
h1{font-size:1.9rem;font-weight:800}
h2{font-size:1.35rem;font-weight:700}
h3{font-size:1.08rem;font-weight:700}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--wheat);outline-offset:2px}

.proto{background:var(--wheat-soft);color:var(--ink);font-size:.85rem;text-align:center;padding-block:6px;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100% - 32px)}
nav.side{background:var(--surface);border-right:1px solid var(--line);padding:20px 12px;display:flex;flex-direction:column;gap:4px;
  padding-left:max(12px,env(safe-area-inset-left,0px))}
.brand{display:flex;gap:10px;align-items:center;padding:0 8px 18px}
.brand svg{flex:none}
.brand b{font-family:var(--f-display);font-size:1.2rem;display:block;line-height:1.1}
.brand small{color:var(--muted);font-size:.8rem}
.nav-btn{display:flex;gap:10px;align-items:center;width:100%;border:0;background:none;padding:10px 12px;border-radius:8px;cursor:pointer;text-align:left;font-weight:600;color:var(--muted)}
.nav-btn:hover{background:var(--sunk);color:var(--ink)}
.nav-btn[aria-current="page"]{background:var(--accent-soft);color:var(--accent)}
.nav-btn svg{width:20px;height:20px;flex:none}
.me{margin-top:auto;padding:12px;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.me b{color:var(--ink);display:block}

main{padding-block:28px 96px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));min-width:0}
.wrap{max-width:1060px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.head p{color:var(--muted);margin-top:4px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;min-width:0}
.panel > h2,.panel > h3{margin-bottom:12px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.stat{display:flex;flex-direction:column;gap:2px}
.stat .n{font-family:var(--f-display);font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.stat .l{color:var(--muted);font-size:.9rem}

.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);padding:9px 14px;border-radius:8px;cursor:pointer;font-weight:600}
.btn:hover{background:var(--sunk)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.sm{padding:5px 10px;font-size:.88rem}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.list{display:flex;flex-direction:column}
.item{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.item:first-child{border-top:0}
.item .grow{flex:1;min-width:0}
.item .sub{color:var(--muted);font-size:.88rem}
.av{width:38px;height:38px;border-radius:50%;overflow:hidden;flex:none;display:block}
.av svg{width:100%;height:100%;display:block}
.av.dead{filter:grayscale(1);opacity:.7}
.pcard .av{margin:0 auto 4px}
.av-key{display:flex;gap:16px;flex-wrap:wrap}
.av-key div{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.8rem;color:var(--muted)}
.av-key .pair{display:flex;gap:4px}

.pill{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:700;padding:2px 9px;border-radius:99px;letter-spacing:.02em;white-space:nowrap}
.pill.ok{background:var(--accent-soft);color:var(--accent)}
.pill.wait{background:var(--wheat-soft);color:var(--wheat)}
.pill.kid{background:var(--sunk);color:var(--muted)}
.pill.mourn{background:var(--mourn-soft);color:var(--mourn)}
.pill.wed{background:var(--wed-soft);color:var(--wed)}

label.f{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.92rem;min-width:0}
.fi{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:9px 11px;width:100%;min-width:0}
textarea.fi{min-height:96px;resize:vertical}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fields .full{grid-column:1/-1}
.vis{display:flex;gap:6px;align-items:center;font-weight:500;font-size:.8rem;color:var(--muted)}
.vis select{border:1px solid var(--line);background:var(--sunk);border-radius:6px;padding:2px 6px;font-size:.8rem}
.lblrow{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.hint{color:var(--muted);font-size:.86rem;font-weight:400}
.note{background:var(--sunk);border-radius:8px;padding:12px 14px;font-size:.92rem}
.note.warn{background:var(--wheat-soft)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem}
.check input{margin-top:4px}

/* Soy ağacı */
.tree-scroll{overflow-x:auto;padding-bottom:10px}
.tree{width:max-content;min-width:100%}
.pcard.found{outline:3px solid var(--wheat);outline-offset:-3px}
.tree ul{padding-top:22px;position:relative;display:flex;justify-content:center;margin:0;padding-left:0}
.tree li{list-style:none;text-align:center;position:relative;padding:22px 6px 0}
.tree li::before,.tree li::after{content:"";position:absolute;top:0;right:50%;border-top:2px solid var(--line);width:50%;height:22px}
.tree li::after{right:auto;left:50%;border-left:2px solid var(--line)}
.tree li:only-child::before,.tree li:only-child::after{display:none}
.tree li:only-child{padding-top:0}
.tree li:first-child::before,.tree li:last-child::after{border:0 none}
.tree li:last-child::before{border-right:2px solid var(--line);border-radius:0 6px 0 0}
.tree li:first-child::after{border-radius:6px 0 0 0}
.tree ul ul::before{content:"";position:absolute;top:0;left:50%;border-left:2px solid var(--line);height:22px}
.tree > ul{padding-top:0}
.couple{display:inline-flex;gap:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.pcard{padding:8px 12px;min-width:118px;cursor:pointer;border:0;background:none;text-align:center}
.pcard:hover{background:var(--sunk)}
.pcard + .pcard{border-left:1px dashed var(--line)}
.pcard b{display:block;font-size:.92rem;white-space:nowrap}
.pcard span{display:block;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}
.pcard .aile{display:block;margin-top:4px;font-size:.76rem;font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.pcard .ek{display:block;font-size:.78rem;color:var(--wheat);font-weight:600}
.pcard.me-node{background:var(--accent-soft)}
.pcard.dead b{color:var(--mourn)}
.pcard.out{font-style:italic}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}

/* Duyuru */
.ev{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.ev:first-child{border-top:0}
.ev .when{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.85rem}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{border:1px solid var(--line);border-radius:99px;padding:6px 13px;cursor:pointer;font-weight:600;font-size:.9rem;background:var(--surface)}
.seg input:checked + label{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.seg input:focus-visible + label{outline:3px solid var(--wheat);outline-offset:2px}
.phone{background:var(--sunk);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}
.bubble{background:var(--surface);border-radius:10px 10px 10px 2px;padding:10px 12px;font-size:.92rem;white-space:pre-wrap;max-width:100%;overflow-wrap:anywhere;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{text-align:left;padding:8px 10px;border-top:1px solid var(--line);vertical-align:top}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:0}
.tbl{overflow-x:auto}

/* Modal */
.scrim{position:fixed;inset:0;background:rgba(10,16,14,.5);display:grid;place-items:center;z-index:50;padding:16px}
.modal{background:var(--surface);border-radius:14px;max-width:560px;width:100%;max-height:90vh;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:14px}
.modal .x{margin-left:auto}
.link-box{display:flex;gap:8px;align-items:center;background:var(--sunk);border-radius:8px;padding:8px 10px;font-family:ui-monospace,Consolas,monospace;font-size:.88rem;overflow-wrap:anywhere}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;z-index:60;font-weight:600;max-width:calc(100% - 32px)}

/* Davetli ekranı */
.invite-hero{background:var(--accent);color:var(--accent-ink);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:6px}
.invite-hero p{opacity:.9}

@media (max-width:820px){
  .shell{grid-template-columns:1fr}
  nav.side{position:fixed;left:0;right:0;bottom:0;top:auto;flex-direction:row;justify-content:space-around;border-right:0;border-top:1px solid var(--line);
    padding:6px max(6px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));z-index:40;gap:0}
  .brand,.me{display:none}
  .nav-btn{flex-direction:column;gap:2px;font-size:.7rem;padding:6px 4px;text-align:center;justify-content:center}
  .grid2,.grid3,.fields{grid-template-columns:1fr}
  .grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .grid3 .panel.stat{padding:12px}
  .stat .n{font-size:1.6rem}
  .stat .l{font-size:.78rem;line-height:1.25}
  .grid3 .note{grid-column:1/-1}
  h1{font-size:1.55rem}
  main{padding-block:18px 110px}
  .panel{padding:14px}
  /* Parmakla rahat basılsın: en az 44px dokunma alanı, iOS yakınlaştırmasın diye 16px yazı */
  .btn{min-height:44px;padding:10px 16px}
  .btn.sm{min-height:40px;padding:8px 12px}
  .fi{min-height:46px;font-size:16px}
  .vis select{min-height:34px;font-size:.85rem;padding:4px 8px}
  .seg label{padding:10px 15px}
  .check{padding-block:6px}
  .check input{width:22px;height:22px;margin-top:1px;flex:none}
  .head{align-items:stretch}
  .head > .btn,.head > .row,.head > .row > *{width:100%}
  .head .row label.f{flex-direction:column!important;align-items:stretch!important}
  .head #ara{width:100%!important}
  .item{flex-wrap:wrap}
  .item > .btn{margin-left:50px}
  /* Pencereler alttan açılan sayfa gibi */
  .scrim{place-items:end stretch;padding:0}
  .modal{max-width:none;border-radius:16px 16px 0 0;max-height:92vh;padding:18px max(16px,env(safe-area-inset-left,0px)) calc(18px + env(safe-area-inset-bottom,0px))}
  .modal > .row:first-child{position:sticky;top:-18px;background:var(--surface);padding-block:6px;z-index:1;flex-wrap:nowrap}
  .modal table th{width:38%}
  .toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:no-preference){.toast{animation:up .2s ease-out}@keyframes up{from{transform:translate(-50%,8px);opacity:0}}}

/* ---- Gerçek sürüm ekleri ---- */
body{margin:0}
[hidden]{display:none!important}
/* Yakınlaştırılabilir ağaç alanı */
.tree-view{position:relative;height:min(68vh,720px);overflow:auto;background:var(--bg);border-radius:8px;touch-action:pan-x pan-y;overscroll-behavior:contain;cursor:grab}
.tree-view.drag{cursor:grabbing;user-select:none}
.tree-view .tree{padding:24px}
.zoom-ctl{position:sticky;top:8px;left:8px;float:left;z-index:5;display:flex;flex-direction:column;gap:6px;margin:8px}
.zoom-ctl button{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:1.4rem;font-weight:700;cursor:pointer;color:var(--ink)}
.zoom-ctl span{font-size:.72rem;color:var(--muted);text-align:center;background:var(--surface);border-radius:6px;padding:2px 0;border:1px solid var(--line)}
.tree.kucuk .pcard{min-width:96px;padding:6px 8px}
.tree.kucuk .pcard .av{width:26px!important;height:26px!important}
.tree.kucuk .pcard > span:not(.av),.tree.kucuk .pcard .ek{display:none}
.tree.cok-kucuk .pcard .av{display:none}
.tree.cok-kucuk .pcard{min-width:80px}
.pcard.focus{box-shadow:inset 0 0 0 3px var(--accent)}
/* Seçili kişi çubuğu */
.focusbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.focusbar .grow{flex:1;min-width:140px}
.focusbar .sub{color:var(--muted);font-size:.88rem}
.crumbs{display:flex;gap:6px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.crumbs button{border:0;background:none;color:var(--accent);font-weight:600;cursor:pointer;padding:2px 0;text-decoration:underline;text-underline-offset:2px}
.err{color:var(--wed);font-weight:600;font-size:.9rem}
.center-screen{min-height:100%;display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-left,0px))}
.center-screen .panel{max-width:520px;display:flex;flex-direction:column;gap:14px}
.danger{color:var(--wed)!important;border-color:var(--wed)!important}
.saving{opacity:.6;pointer-events:none}
fieldset.adres{border:1px solid var(--line);border-radius:10px;padding:12px 14px 14px;margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}
fieldset.adres legend{font-weight:600;font-size:.92rem;padding:0 6px;display:flex;gap:8px;justify-content:space-between}
fieldset.adres > .btn{align-self:flex-start}
.kok-etiket{font-size:.72rem;color:var(--muted);margin-bottom:3px;white-space:nowrap}
.dogum-alan{display:flex;flex-direction:column;gap:4px}
.linkbtn{align-self:flex-start;border:0;background:none;padding:2px 0;color:var(--accent);font-weight:600;font-size:.82rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.pcard .pid{display:block;margin-top:2px;font-size:.7rem;color:var(--muted);opacity:.6;font-variant-numeric:tabular-nums;user-select:all}
.pcard .pid[hidden]{display:none}
.pid-k{opacity:.6;font-variant-numeric:tabular-nums;user-select:all}
/* Birden fazla evlilik: eşler ayrı kutularda, aralarında tire; çocuklar ilgili eşin altından iner */
.tree .multi{display:inline-flex;align-items:flex-start;justify-content:center}
.tree .multi .kol > ul{padding-top:0}
.tree .multi .kol > ul::before{display:none}
.tree .multi .kol > ul > li{padding:0 4px}
.tree .multi .tire{font-size:1.6rem;font-weight:700;color:var(--muted);line-height:1;padding-top:34px;flex:none}
.tree.kucuk .multi .tire{padding-top:18px}
.tree .multi{position:relative}
.tree .multi .tire{width:28px;padding-top:0}
.tree .multi .evlilik-cizgi{position:absolute;height:0;border-top:2px dashed var(--muted);pointer-events:none;z-index:0}
.tree .multi .couple{position:relative;z-index:1}
/* Soyadı yazarken büyük görünsün (sunucu da büyük kaydeder) */
[data-k="soyad"],[data-k="kizlik"],#nSoyad,#nKiz{text-transform:uppercase}

/* ---- "Sağa doğru" görünüm: büyükler solda, her kuşak bir girinti sağda (dosya ağacı gibi) ---- */
.tree.yan{padding:16px 16px 24px 70px}
.tree.yan ul{display:block;padding:0 0 0 30px;margin:0}
.tree.yan > ul{padding-left:0}
.tree.yan ul ul::before{display:none}
.tree.yan li{display:block;text-align:left;padding:10px 0 0 22px;position:relative}
.tree.yan li::before,.tree.yan li::after{content:"";position:absolute;border:0;border-radius:0;right:auto;display:block}
/* dikey hat (kardeşleri birbirine bağlar) */
.tree.yan li::before{left:0;top:0;bottom:0;width:0;height:auto;border-left:2px solid var(--line)}
/* yatay kol (karta uzanır) */
.tree.yan li::after{left:0;top:52px;width:20px;height:0;border-top:2px solid var(--line)}
.tree.yan li:last-child::before{bottom:auto;height:53px}
.tree.yan li:only-child::before,.tree.yan li:only-child::after{display:block}
.tree.yan li:only-child{padding-top:10px}
.tree.yan > ul > li{padding-left:0;padding-top:0}
.tree.yan > ul > li::before,.tree.yan > ul > li::after{display:none}
.tree.yan .couple{vertical-align:top}
.tree.yan.kucuk li::after{top:30px}
.tree.yan.kucuk li:last-child::before{height:31px}
/* Çok evlilik: ortadaki kişi üstte, eşleri altında ayrı dallar; her eşin çocukları onun altında */
.tree.yan .multi{display:flex;flex-direction:column;align-items:flex-start}
.tree.yan .multi .tire{display:none}
.tree.yan .multi .kol.orta{order:-1}
.tree.yan .multi .kol:not(.orta){margin-left:30px;border-left:2px dashed var(--muted);padding-left:8px}
.tree.yan .multi .kol > ul > li{padding:10px 0 0 0}
.tree.yan .multi .kol > ul > li::before,.tree.yan .multi .kol > ul > li::after{display:none}
.tree.yan .multi .kol.orta > ul > li{padding-top:0}

/* ---- Ana sayfa ---- */
.hero{position:relative;overflow:hidden;border-radius:16px;padding:28px 28px 30px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  background:var(--accent);color:var(--accent-ink);
  background-image:radial-gradient(circle at 92% 12%,rgba(255,255,255,.14) 0 90px,transparent 91px),radial-gradient(circle at 78% 120%,rgba(255,255,255,.10) 0 140px,transparent 141px)}
.hero-metin{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 300px}
.hero h1{font-size:2.3rem;color:inherit}
.eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-weight:700}
.hero-alt{font-size:1.05rem;opacity:.92}
.hero-dugme{margin-top:10px}
.hero .btn{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:inherit}
.hero .btn:hover{background:rgba(255,255,255,.22)}
.hero .btn.primary{background:var(--accent-ink);color:var(--accent);border-color:var(--accent-ink)}
.kalabalik{display:flex;align-items:center;flex-wrap:wrap;max-width:330px;justify-content:flex-end;padding-left:14px}
.kalabalik .av{margin-left:-14px;box-shadow:0 0 0 3px var(--accent);border-radius:50%}
.kalabalik-arti{margin-left:-10px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--accent-ink);color:var(--accent);box-shadow:0 0 0 3px var(--accent);font-variant-numeric:tabular-nums}
.sayilar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:12px}
.sayilar div{display:flex;flex-direction:column;align-items:center;padding:14px 8px;gap:2px}
.sayilar div + div{border-left:1px solid var(--line)}
.sayilar b{font-family:var(--f-display);font-size:1.7rem;line-height:1;font-variant-numeric:tabular-nums}
.sayilar span{color:var(--muted);font-size:.85rem}
/* Senin dalın */
.dal{display:flex;flex-direction:column;align-items:center;gap:6px}
.dal-sira{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.dal-ok{width:2px;height:18px;background:var(--line)}
.dal-kisi{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:8px 10px;min-width:84px;cursor:pointer;font-weight:600;font-size:.88rem}
.dal-kisi:hover{background:var(--sunk)}
.dal-kisi.ben{background:var(--accent-soft);border-color:var(--accent)}
/* Boş durum */
.bos{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:18px 8px}
.bos-ikon{font-size:2rem}
.bos p{max-width:34ch}
/* Tamamlanma oranları */
.oranlar{display:flex;flex-direction:column;gap:12px}
.oran-ust{display:flex;justify-content:space-between;font-size:.92rem;margin-bottom:5px}
.oran-ust b{font-variant-numeric:tabular-nums}
.bar{height:8px;border-radius:99px;background:var(--sunk);overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:var(--wheat);min-width:4px}
@media (max-width:820px){
  .hero{padding:22px 18px}
  .hero h1{font-size:1.8rem}
  .kalabalik{justify-content:flex-start;max-width:none}
  .kalabalik .av,.kalabalik-arti{width:44px!important;height:44px!important}
  .sayilar b{font-size:1.35rem}
  .sayilar span{font-size:.75rem}
}
@media (max-width:820px){.kalabalik{flex-wrap:nowrap}.kalabalik .av:nth-child(n+7){display:none}}
.kalabalik-arti.tel{display:none}
@media (max-width:820px){.kalabalik-arti.masa{display:none}.kalabalik-arti.tel{display:grid}}
