/* Ondalık Çözümleme — Matematik Köşesi "kareli defter" teması
 * Tüm kurallar .odc içinde (site CSS'i ile çakışmaz). Renkler sitenin kendi değişkenlerinden gelir
 * (--paper, --ink, --red-pen ... ve html[data-theme="dark"]); değişken yoksa aşağıdaki yedek değerler kullanılır. */
.odc{
  --o-paper:var(--paper,#FBFAF5);
  --o-paper-soft:var(--paper-soft,#F5F2EA);
  --o-line:var(--grid-line,#D7E2EF);
  --o-ink:var(--ink,#16314F);
  --o-ink-soft:var(--ink-soft,#4C617F);
  --o-ink-faint:var(--ink-faint,#8294AC);
  --o-red:var(--red-pen,#D6472D);
  --o-red-dark:var(--red-pen-dark,#AE3A23);
  --o-blue:var(--tab-blue,#2C6CB8);
  --o-green:var(--tab-green,#2C9A6B);
  --o-amber:var(--tab-amber,#CE8A20);
  --o-hi:var(--highlighter,#FFE07A);
  --o-surface:var(--surface,#FFFFFF);
  --o-tint-red:var(--tint-red,#FBEFEC);
  --o-tint-green:var(--tint-green,#EAF6EF);
  --o-tint-amber:var(--tint-amber,#FFFBEB);
  --o-danger:var(--danger-text,#AE3A23);
  --o-success:var(--success-text,#1F7A4F);
  --o-track:var(--track,#EFEAE0);
  --o-shadow:var(--shadow,0 6px 18px rgba(22,49,79,.08));
  --o-font:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --o-hand:Caveat,"Segoe Print","Comic Sans MS",cursive;

  box-sizing:border-box;max-width:1040px;margin:0 auto;
  padding:clamp(14px,3vw,28px) clamp(14px,3vw,24px) 36px;
  color:var(--o-ink);font-family:var(--o-font);font-size:16px;line-height:1.45;position:relative;
}
.odc *,.odc *::before,.odc *::after{box-sizing:border-box}
.odc [hidden]{display:none!important}
.odc button{font-family:inherit}
.odc h1,.odc h2,.odc p,.odc ul,.odc ol{margin:0;padding:0}
.odc ul,.odc ol{list-style:none}

.odc .screen{display:none}
.odc .screen.active{display:block;animation:odc-fadeUp .35s ease both}
.odc .panel{background:var(--o-surface);border-radius:22px;box-shadow:0 0 0 3px color-mix(in srgb,var(--o-red) 8%,transparent),var(--o-shadow);border:1.5px solid var(--o-line)}

/* ---- Düğmeler ---- */
.odc .btn{font:inherit;font-weight:800;border:2px solid var(--o-ink);border-radius:12px;padding:.8em 1.6em;cursor:pointer;color:var(--o-ink);background:var(--o-surface);transition:transform .12s,box-shadow .12s,background .12s}
.odc .btn:active{transform:translateY(2px)}
.odc .btn:focus-visible,.odc .key:focus-visible,.odc .box:focus-visible,.odc .opt:focus-visible,.odc .gift:focus-visible,.odc .mode-card:focus-visible,.odc .tab:focus-visible,.odc .icon-btn:focus-visible,.odc .btn-back:focus-visible{outline:3px solid var(--o-blue);outline-offset:2px}
.odc .btn-primary{background:var(--o-red);border-color:var(--o-red-dark);color:#fff;box-shadow:0 4px 0 var(--o-red-dark)}
.odc .btn-primary:hover{filter:brightness(1.06)}
.odc .btn-primary:active{box-shadow:0 1px 0 var(--o-red-dark)}
.odc .btn-primary:disabled{opacity:.55;cursor:not-allowed;filter:none}
.odc .btn-ghost:hover{background:var(--o-paper-soft)}

/* ---- Başlangıç ---- */
.odc .hero{padding:clamp(18px,4vw,38px);text-align:center}
.odc .eyebrow{display:inline-block;background:var(--o-hi);color:#16314F;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 12px;border-radius:6px;margin-bottom:8px}
.odc .hero h1{font-family:var(--o-hand);font-weight:700;font-size:clamp(2.6rem,8vw,4rem);line-height:1.05;color:var(--o-ink)}
.odc .lead{color:var(--o-ink-soft);font-size:1.05rem;margin:.5rem 0 1.4rem}
.odc .small-title{font-size:.9rem;color:var(--o-ink-soft);margin:0 0 10px;font-weight:800;letter-spacing:.04em}
.odc .modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1.2rem}
.odc .mode-card{font:inherit;color:var(--o-ink);text-align:left;background:var(--o-paper);border:2px solid var(--o-line);border-radius:14px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:border-color .15s,background .15s,transform .15s}
.odc .mode-card:hover{border-color:var(--o-blue);transform:translateY(-2px)}
.odc .mode-card.selected{border-color:var(--o-blue);background:color-mix(in srgb,var(--o-blue) 10%,var(--o-surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--o-blue) 18%,transparent)}
.odc .md-no{font-size:.72rem;color:var(--o-red);font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.odc .md-name{font-family:var(--o-hand);font-size:1.6rem;font-weight:700;line-height:1.1}
.odc .md-desc{font-size:.84rem;color:var(--o-ink-soft);line-height:1.35}
.odc .howto{margin:0 auto 1rem;display:grid;gap:8px;max-width:660px;text-align:left}
.odc .howto li{display:flex;gap:12px;align-items:center;background:var(--o-paper);border:1.5px solid var(--o-line);border-radius:12px;padding:9px 14px}
.odc .howto .n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--o-ink);color:var(--o-surface);font-weight:900;display:grid;place-items:center;font-size:.9rem}
.odc .start-note{max-width:660px;margin:0 auto 1.4rem;background:var(--o-tint-amber);border:1.5px dashed var(--o-amber);border-radius:12px;padding:10px 14px;color:var(--o-ink);font-size:.95rem}
.odc .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---- HUD ---- */
.odc .hud{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.1fr auto;gap:10px;margin-bottom:12px;align-items:stretch}
.odc .hud-item{position:relative;background:var(--o-surface);border:1.5px solid var(--o-line);border-radius:14px;padding:8px 14px;display:flex;flex-direction:column;justify-content:center;min-width:0;box-shadow:var(--o-shadow)}
.odc .hud-label{font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--o-ink-faint)}
.odc .hud-value{font-size:1.55rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.odc .hud-value small{font-size:.8rem;font-weight:700;color:var(--o-ink-faint)}
.odc .hud-time .hud-value{color:var(--o-blue)}
.odc .hud-time.low .hud-value{color:var(--o-red);animation:odc-pulse .5s infinite alternate}
.odc .timebar{display:block;height:6px;border-radius:6px;background:var(--o-track);margin-top:5px;overflow:hidden}
.odc .timebar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--o-blue),var(--o-red));transition:width .15s linear}
.odc .hud-score-pulse{animation:odc-pop .35s ease}
.odc .combo-pill{position:absolute;right:8px;top:8px;background:var(--o-red);color:#fff;font-weight:900;font-size:.72rem;padding:2px 8px;border-radius:99px;display:none}
.odc .hud-combo.on{border-color:var(--o-red);box-shadow:0 0 0 3px color-mix(in srgb,var(--o-red) 18%,transparent)}
.odc .hud-combo.on .combo-pill{display:block;animation:odc-pop .4s ease}
.odc .hearts{display:flex;gap:3px;font-size:1.4rem;line-height:1}
.odc .heart{color:var(--o-red)}
.odc .heart.lost{color:var(--o-ink-faint)}
.odc .heart.hit{animation:odc-shake .4s}
.odc .icon-btn{font-size:1.25rem;background:var(--o-surface);border:1.5px solid var(--o-line);border-radius:14px;width:52px;cursor:pointer;color:var(--o-ink);box-shadow:var(--o-shadow)}
.odc .icon-btn:hover{border-color:var(--o-blue)}

/* ---- Etki şeridi ---- */
.odc .fx-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;min-height:30px}
.odc .fx-chip{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:800;border-radius:99px;padding:4px 12px;background:var(--o-surface);border:1.5px solid var(--o-line);color:var(--o-ink-soft)}
.odc .fx-chip.on{color:var(--o-ink);border-color:var(--o-amber);background:var(--o-tint-amber);animation:odc-pop .4s ease}
.odc .fx-chip.cool{border-color:var(--o-blue);background:color-mix(in srgb,var(--o-blue) 10%,var(--o-surface));color:var(--o-ink)}

/* ---- Sahne ---- */
.odc .stage{display:grid;grid-template-columns:1fr 190px;gap:16px;align-items:start}
.odc .board{padding:clamp(14px,3vw,26px);text-align:center;position:relative}
.odc .target-label{color:var(--o-ink-soft);font-weight:700;font-size:.9rem;letter-spacing:.04em}
.odc .target-label.q{font-size:clamp(1.05rem,3vw,1.35rem);color:var(--o-ink);font-weight:800;line-height:1.35;margin-bottom:2px}
.odc .target{font-size:clamp(3.2rem,12vw,6rem);font-weight:800;line-height:1.1;color:var(--o-blue);font-variant-numeric:tabular-nums;margin:.1em 0 .25em;letter-spacing:.01em}
.odc .target.choice{color:var(--o-ink);font-size:clamp(2.6rem,10.5vw,5.2rem)}
.odc .target.swap{animation:odc-swapIn .4s ease both}
.odc b.c1,.odc b.c2{font-weight:900;padding:0 .25em;border-radius:5px}
.odc b.c1{color:var(--o-red);background:color-mix(in srgb,var(--o-hi) 70%,transparent)}
.odc b.c2{color:var(--o-blue);background:color-mix(in srgb,var(--o-blue) 14%,transparent)}

/* Parlayan rakamlar */
.odc .dg{display:inline-block;position:relative;border-radius:10px;transition:transform .2s}
.odc .cm{display:inline-block;padding:0 .04em;color:var(--o-ink-faint)}
.odc .dg.hl1{color:var(--o-red);background:color-mix(in srgb,var(--o-hi) 75%,transparent);transform:scale(1.1);padding:0 .06em;animation:odc-glow1 1s ease-in-out infinite alternate}
.odc .dg.hl2{color:var(--o-blue);background:color-mix(in srgb,var(--o-blue) 15%,transparent);transform:scale(1.1);padding:0 .06em;animation:odc-glow2 1s ease-in-out infinite alternate}
.odc .dg .mk{position:absolute;top:-.1em;right:-.12em;font-size:.26em;font-weight:900;line-height:1;background:var(--o-ink);color:var(--o-surface);width:1.5em;height:1.5em;border-radius:50%;display:grid;place-items:center}

/* Çözümleme denklemi */
.odc .equation{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 6px;margin:8px 0 6px}
.odc .term{display:flex;align-items:center;gap:6px}
.odc .plus{font-size:1.6rem;font-weight:800;color:var(--o-red);padding:0 4px}
.odc .times{font-size:1.3rem;font-weight:800;color:var(--o-ink-faint)}
.odc .mult{font-size:1.5rem;font-weight:800;min-width:1.4em;display:inline-flex;align-items:center;justify-content:center}
.odc .box{position:relative;font:inherit;width:clamp(46px,8.6vw,66px);height:clamp(56px,10.5vw,76px);font-size:clamp(1.6rem,4.5vw,2.3rem);font-weight:800;color:var(--o-ink);background:var(--o-paper);border:3px solid var(--o-ink-faint);border-radius:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;display:grid;place-items:center;padding:0}
.odc .box:hover{border-color:var(--o-blue)}
.odc .box.active{border-color:var(--o-red);background:var(--o-surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--o-red) 18%,transparent)}
.odc .box.active:empty::after{content:"";width:2px;height:55%;background:var(--o-red);animation:odc-blink 1s steps(2) infinite}
.odc .box.filled{border-color:var(--o-blue)}
.odc .box.correct{background:var(--o-tint-green);border-color:var(--o-green);color:var(--o-success);animation:odc-pop .35s ease}
.odc .box.wrong{background:var(--o-tint-red);border-color:var(--o-red);color:var(--o-danger);animation:odc-shake .4s}
.odc .box.empty-warn{animation:odc-shake .4s;border-color:var(--o-red)}
.odc .box.static{cursor:default;border-color:var(--o-green);background:var(--o-tint-green);color:var(--o-success)}
/* ✓ / ✗ işaretleri (yalnızca renge bağlı kalmasın) */
.odc .box.correct::before,.odc .box.wrong::before,.odc .opt.correct::after,.odc .opt.wrong::after,.odc .opt.reveal::after{
  position:absolute;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.85rem;font-weight:900;line-height:1}
.odc .box.correct::before,.odc .box.wrong::before{top:-10px;right:-10px;z-index:1}
.odc .box.correct::before,.odc .opt.correct::after,.odc .opt.reveal::after{content:"✓";background:var(--o-green)}
.odc .box.wrong::before,.odc .opt.wrong::after{content:"✗";background:var(--o-red)}
.odc .box .pop,.odc .opt .pop{position:absolute;top:-12px;left:50%;transform:translateX(-50%);color:var(--o-success);font-size:.95rem;font-weight:900;pointer-events:none;animation:odc-floatUp 1s ease-out both;text-shadow:0 1px 0 var(--o-surface)}

/* Kesir: flex column + border-bottom ile yatay kesir çizgisi */
.odc .frac{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;font-weight:800;font-size:1.3rem}
.odc .frac .num{display:block;padding:0 .4em .12em;border-bottom:3px solid currentColor}
.odc .frac .den{display:block;padding-top:.12em}
.odc .equation.dense .box{width:clamp(38px,6.6vw,54px);height:clamp(50px,8.6vw,64px);font-size:clamp(1.3rem,3.6vw,1.9rem)}
.odc .equation.dense .mult{font-size:1.15rem;min-width:1.2em}
.odc .equation.dense .plus{font-size:1.2rem;padding:0 1px}
.odc .equation.dense .term{gap:3px}
.odc .equation.dense .times{font-size:1.1rem}
.odc .equation.dense .frac{font-size:1rem}

.odc .msg{min-height:1.5em;margin:6px 0 4px;font-weight:700;color:var(--o-red)}

/* Tuş takımı */
.odc .pad-wrap{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:6px}
.odc .numpad{display:grid;grid-template-columns:repeat(3,clamp(58px,15vw,74px));gap:10px}
.odc .key{font:inherit;font-size:1.5rem;font-weight:800;height:clamp(50px,11vw,62px);color:var(--o-ink);background:var(--o-surface);border:2px solid var(--o-ink-faint);border-bottom-width:5px;border-radius:12px;cursor:pointer;transition:transform .08s,background .12s,border-color .12s;touch-action:manipulation;user-select:none}
.odc .key:hover{border-color:var(--o-blue);background:var(--o-paper)}
.odc .key:active,.odc .key.pressed{transform:translateY(3px);border-bottom-width:2px;background:color-mix(in srgb,var(--o-blue) 12%,var(--o-surface));border-color:var(--o-blue)}
.odc .key-fn{color:var(--o-blue)}
.odc .btn-check{font-size:1.2rem;padding:.95em 1.8em;min-width:170px}

/* Şıklar */
.odc .options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}
.odc .opt{position:relative;font:inherit;font-size:1.12rem;font-weight:800;color:var(--o-ink);background:var(--o-surface);border:2px solid var(--o-ink-faint);border-bottom-width:5px;border-radius:14px;padding:.9em 2.2em .9em 2.5em;cursor:pointer;text-align:center;transition:transform .08s,border-color .12s,background .12s;touch-action:manipulation;min-height:60px}
.odc .opt:hover{border-color:var(--o-blue);background:var(--o-paper)}
.odc .opt:active{transform:translateY(3px);border-bottom-width:2px}
.odc .opt-n{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:7px;background:color-mix(in srgb,var(--o-blue) 14%,transparent);color:var(--o-blue);font-size:.8rem;display:grid;place-items:center}
.odc .opt.correct{background:var(--o-tint-green);border-color:var(--o-green);color:var(--o-success);animation:odc-pop .35s ease}
.odc .opt.wrong{background:var(--o-tint-red);border-color:var(--o-red);color:var(--o-danger);animation:odc-shake .4s}
.odc .opt.reveal{border-color:var(--o-green);background:var(--o-tint-green)}
.odc .opt.correct::after,.odc .opt.wrong::after,.odc .opt.reveal::after{right:10px;top:50%;transform:translateY(-50%)}
.odc .opt.out{opacity:.3;text-decoration:line-through;pointer-events:none}
.odc .opt.locked{pointer-events:none}

/* Yaşar */
.odc .yasar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;position:sticky;top:14px}
.odc .bubble{position:relative;background:var(--o-hi);color:#16314F;font-weight:800;padding:10px 12px;border-radius:14px;font-size:.95rem;line-height:1.3;text-align:center;min-height:2.6em;display:flex;align-items:center;justify-content:center;width:100%;border:2px solid #16314F}
.odc .bubble::after{content:"";position:absolute;left:50%;bottom:-11px;margin-left:-9px;border:9px solid transparent;border-top-color:#16314F;border-bottom:0}
.odc .bubble.talk{animation:odc-pop .35s ease}
.odc .yasar{width:140px;height:150px}
.odc .yasar svg{width:100%;height:100%;overflow:visible}
.odc .yasar.happy{animation:odc-hop .6s ease 2}
.odc .yasar.sad{animation:odc-nod 1s ease}
.odc .yasar-lg{width:96px;height:104px;flex:none}
.odc .yasar-name{font-family:var(--o-hand);font-weight:700;color:var(--o-blue);font-size:1.4rem;line-height:1}

/* Combo efekti */
.odc .combo-burst{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%) scale(.4);font-family:var(--o-hand);font-size:clamp(3rem,11vw,6rem);font-weight:700;color:var(--o-red);text-shadow:0 4px 0 var(--o-surface),0 0 24px color-mix(in srgb,var(--o-red) 40%,transparent);opacity:0;pointer-events:none;z-index:9000;white-space:nowrap}
.odc .combo-burst.go{animation:odc-burst 1.3s ease-out both}

/* Alt satır — "Oyunlara dön" her oyunda sol altta */
.odc .oyun-footer{display:flex;align-items:center;justify-content:flex-start;margin-top:22px}
.odc .btn-back{color:var(--o-ink);text-decoration:none;font-weight:800;border:2px solid var(--o-ink);background:var(--o-surface);padding:.6em 1.2em;border-radius:12px}
.odc .btn-back:hover{background:var(--o-paper-soft)}

/* Modal */
.odc .modal-backdrop{position:fixed;inset:0;background:rgba(22,49,79,.55);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;padding:14px;z-index:9500;overflow-y:auto}
.odc .modal-backdrop.open{display:flex}
.odc .modal{width:min(640px,100%);max-height:calc(100vh - 28px);overflow-y:auto;background:var(--o-surface);color:var(--o-ink);border:2px solid var(--o-ink);border-radius:22px;padding:clamp(16px,3vw,26px);box-shadow:0 24px 60px rgba(0,0,0,.35);animation:odc-modalIn .3s ease both}
.odc .modal h2{font-family:var(--o-hand);font-weight:700;font-size:2rem;line-height:1.1;margin:0 0 8px}
.odc .modal-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.odc .modal-explain{border-color:var(--o-red)}
.odc .ex-head{display:flex;gap:14px;align-items:center;margin-bottom:8px}
.odc .ex-head h2{margin:0}
.odc .ex-sub{margin:4px 0 0;color:var(--o-ink-soft)}
.odc .ex-list{margin:10px 0;display:grid;gap:8px}
.odc .ex-list li{background:var(--o-tint-red);border-left:4px solid var(--o-red);border-radius:8px;padding:9px 12px;line-height:1.45}
.odc .ex-list .hint{display:block;color:var(--o-ink-soft);font-size:.92rem;margin-top:2px}
.odc .ex-correct{background:var(--o-paper);border:1.5px solid var(--o-line);border-radius:14px;padding:12px;text-align:center}
.odc .ex-correct-title{margin:0 0 4px;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--o-success)}
.odc .ex-number{font-size:2.4rem;font-weight:800;color:var(--o-ink);line-height:1.1}
.odc .ex-number .dg{border-radius:8px}
.odc .equation-static{margin:6px 0}
.odc .equation-static .box{width:46px;height:54px;font-size:1.5rem}
.odc .calc-wrap{flex-direction:column;gap:2px}
.odc .calc{font-size:1.1rem;font-weight:800;margin:2px 0}
.odc .calc b{color:var(--o-success)}
.odc .calc .c1{color:var(--o-red)}.odc .calc .c2{color:var(--o-blue)}
.odc .place-table{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:8px}
.odc .place-cell{background:var(--o-surface);border:1.5px solid var(--o-line);border-radius:8px;padding:5px 9px;font-size:.78rem;color:var(--o-ink-soft)}
.odc .place-cell b{display:block;color:var(--o-ink);font-size:1.05rem}
.odc .place-cell.hl{border-color:var(--o-red);background:color-mix(in srgb,var(--o-hi) 55%,var(--o-surface))}
.odc .ex-note{margin:10px 0 0;color:var(--o-ink-soft);font-size:.93rem;line-height:1.45}

/* Bonus kutuları */
.odc .modal-bonus,.odc .modal-level,.odc .modal-pause{text-align:center}
.odc .modal-bonus{border-color:var(--o-amber)}
.odc .bonus-sub{margin:.2rem 0 1rem;color:var(--o-ink-soft)}
.odc .gifts{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:12px}
.odc .gift{font:inherit;color:var(--o-ink);background:var(--o-paper);border:2px solid var(--o-ink-faint);border-bottom-width:5px;border-radius:16px;padding:16px 8px;min-height:150px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:transform .15s,border-color .15s}
.odc .gift:hover{border-color:var(--o-amber);transform:translateY(-3px)}
.odc .gift .g-emoji{font-size:2.8rem;line-height:1}
.odc .gift .g-name{font-weight:800;font-size:.95rem;line-height:1.2}
.odc .gift .g-desc{font-size:.76rem;color:var(--o-ink-soft);line-height:1.3}
.odc .gift.closed .g-emoji{animation:odc-wiggle 1.4s ease-in-out infinite}
.odc .gift:nth-child(2).closed .g-emoji{animation-delay:.2s}
.odc .gift:nth-child(3).closed .g-emoji{animation-delay:.4s}
.odc .gift.chosen{border-color:var(--o-amber);background:var(--o-tint-amber);box-shadow:0 0 0 4px color-mix(in srgb,var(--o-amber) 25%,transparent);animation:odc-pop .5s ease}
.odc .gift.faded{opacity:.45;pointer-events:none}
.odc .bonus-result{min-height:2.6em;margin-top:14px;font-size:1.1rem;font-weight:800;color:var(--o-red)}

/* Seviye geçiş ekranı */
.odc .modal-level{border-color:var(--o-blue)}
.odc .lvl-kicker{display:inline-block;background:var(--o-hi);color:#16314F;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 12px;border-radius:6px}
.odc .modal-level h2{font-size:3.2rem;margin:6px 0 10px}
.odc .lvl-body{display:flex;gap:14px;align-items:center;justify-content:center;text-align:left;margin-bottom:6px}
.odc .lvl-notes{display:grid;gap:6px;flex:1;min-width:0}
.odc .lvl-notes li{background:var(--o-paper);border:1.5px solid var(--o-line);border-radius:10px;padding:7px 12px;font-size:.93rem}
.odc .lvl-notes li.warn{background:var(--o-tint-amber);border-color:var(--o-amber);font-weight:700}
.odc .lvl-count{margin:10px auto 2px;width:76px;height:76px;border-radius:50%;border:4px solid var(--o-blue);display:grid;place-items:center;font-size:2.4rem;font-weight:800;color:var(--o-blue)}
.odc .lvl-count.tick{animation:odc-pop .4s ease}
.odc .lvl-sub{color:var(--o-ink-soft);font-weight:700}

/* Oyun bitti */
.odc .modal-over h2{font-size:2.8rem;text-align:center;color:var(--o-red)}
.odc .over-mode{margin:-4px 0 12px;text-align:center;color:var(--o-blue);font-weight:800}
.odc .over-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.odc .over-stats div{background:var(--o-paper);border:1.5px solid var(--o-line);border-radius:12px;padding:8px;text-align:center}
.odc .os-label{display:block;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--o-ink-faint)}
.odc .os-value{font-size:1.6rem;font-weight:800;color:var(--o-blue)}
.odc .save-form label{display:block;font-weight:800;margin-bottom:6px}
.odc .save-row{display:flex;gap:10px;flex-wrap:wrap}
.odc .save-row input{flex:1;min-width:160px;font:inherit;font-size:1.05rem;padding:.7em 1em;color:var(--o-ink);background:var(--o-paper);border:2px solid var(--o-ink-faint);border-radius:12px}
.odc .save-row input:focus{outline:none;border-color:var(--o-blue)}
.odc .form-hint{margin:6px 0 0;font-size:.8rem;color:var(--o-ink-soft);line-height:1.35}
.odc .form-msg{min-height:1.3em;margin:6px 0 0;font-weight:800;color:var(--o-danger)}
.odc .form-msg.ok{color:var(--o-success)}
.odc .form-msg.warn{color:var(--o-danger);background:var(--o-tint-red);border-radius:8px;padding:6px 10px}

/* Liderlik tablosu */
.odc .tabs{display:flex;gap:6px;margin:6px 0 10px;background:var(--o-paper-soft);padding:5px;border-radius:12px;border:1.5px solid var(--o-line)}
.odc .tab{flex:1;font:inherit;font-weight:800;color:var(--o-ink-soft);background:transparent;border:0;border-radius:9px;padding:.6em .4em;cursor:pointer}
.odc .tab.on{background:var(--o-blue);color:#fff}
.odc .tabs-mode{margin-bottom:6px}
.odc .tabs-mode .tab{padding:.45em .3em;font-size:.88rem}
.odc .tabs-mode .tab.on{background:var(--o-red)}
.odc .lb-list{max-height:300px;overflow-y:auto;border:1.5px solid var(--o-line);border-radius:12px}
.odc .lb-row{display:grid;grid-template-columns:44px 1fr auto auto;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--o-line)}
.odc .lb-row:last-child{border-bottom:0}
.odc .lb-row:nth-child(even){background:var(--o-paper)}
.odc .lb-rank{font-weight:900;color:var(--o-ink-faint);text-align:center}
.odc .lb-row:nth-child(1) .lb-rank{color:#C79200}
.odc .lb-row:nth-child(2) .lb-rank{color:#7B8794}
.odc .lb-row:nth-child(3) .lb-rank{color:#B0643A}
.odc .lb-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.odc .lb-lv{font-size:.72rem;color:var(--o-blue);border:1px solid var(--o-line);border-radius:99px;padding:1px 8px;white-space:nowrap}
.odc .lb-score{font-weight:900;color:var(--o-red);font-variant-numeric:tabular-nums}
.odc .lb-row.me{background:color-mix(in srgb,var(--o-hi) 55%,var(--o-surface));outline:2px solid var(--o-red);outline-offset:-2px}
.odc .lb-state{padding:22px;text-align:center;color:var(--o-ink-soft)}
.odc .lb-demo{margin:8px 0 0;font-size:.78rem;color:var(--o-ink-soft);text-align:center}

/* Animasyonlar */
@keyframes odc-fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes odc-modalIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes odc-pop{0%{transform:scale(1)}50%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes odc-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
@keyframes odc-floatUp{0%{opacity:0;transform:translate(-50%,6px)}15%{opacity:1}100%{opacity:0;transform:translate(-50%,-34px)}}
@keyframes odc-blink{50%{opacity:0}}
@keyframes odc-pulse{to{transform:scale(1.06)}}
@keyframes odc-swapIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes odc-glow1{from{box-shadow:0 0 6px color-mix(in srgb,var(--o-red) 30%,transparent)}to{box-shadow:0 0 22px color-mix(in srgb,var(--o-red) 70%,transparent)}}
@keyframes odc-glow2{from{box-shadow:0 0 6px color-mix(in srgb,var(--o-blue) 30%,transparent)}to{box-shadow:0 0 22px color-mix(in srgb,var(--o-blue) 70%,transparent)}}
@keyframes odc-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-80%) scale(1)}}
@keyframes odc-hop{0%,100%{transform:translateY(0)}40%{transform:translateY(-14px)}}
@keyframes odc-nod{0%,100%{transform:rotate(0)}30%{transform:rotate(-5deg)}60%{transform:rotate(4deg)}}
@keyframes odc-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}

/* Küçük ekranlar */
@media (max-width:860px){
  .odc .stage{grid-template-columns:1fr}
  .odc .yasar-wrap{order:-1;flex-direction:row;position:static;gap:10px;align-items:center;justify-content:center}
  .odc .yasar-wrap .bubble{flex:1;width:auto}
  .odc .yasar-wrap .bubble::after{left:auto;right:-12px;bottom:auto;top:50%;margin:-9px 0 0;border:9px solid transparent;border-left-color:#16314F;border-right:0;border-top-color:transparent}
  .odc .yasar{width:84px;height:90px}
  .odc .yasar-name{display:none}
  .odc .modes{grid-template-columns:1fr}
  .odc .mode-card{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}
  .odc .md-desc{flex-basis:100%}
}
@media (max-width:620px){
  .odc .hud{grid-template-columns:repeat(12,1fr)}
  .odc .hud-time{grid-column:span 10;order:1}
  .odc .icon-btn{grid-column:span 2;width:auto;min-height:44px;order:2}
  .odc .hud-item:not(.hud-time){order:3}
  .odc .hud-item:not(.hud-time){grid-column:span 3;padding:7px 8px}
  .odc .hud-value{font-size:1.25rem}
  .odc .hearts{font-size:1.1rem;gap:1px}
  .odc .combo-pill{right:4px;top:4px}
  .odc .options{grid-template-columns:1fr 1fr;gap:8px}
  .odc .opt{font-size:1rem;padding:.8em 1.7em .8em 2.1em}
  .odc .gifts{gap:8px}
  .odc .gift{min-height:110px;padding:10px 4px}
  .odc .gift .g-emoji{font-size:2.2rem}
  .odc .over-stats{grid-template-columns:repeat(2,1fr)}
  .odc .lb-row{grid-template-columns:36px 1fr auto}
  .odc .lb-lv{display:none}
  .odc .plus{font-size:1.3rem}
  .odc .lvl-body{flex-direction:column;text-align:center}
}
@media (prefers-reduced-motion:reduce){.odc *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ---- ek: ipucu kutusu, ısınma etiketi, kilitli buton ---- */
.odc .box.given{background:var(--o-tint-amber);border-color:var(--o-amber);border-style:dashed;cursor:default;color:var(--o-ink)}
.odc .warm-tag{display:inline-block;background:var(--o-hi);color:#16314F;font-size:.72rem;font-weight:800;padding:1px 9px;border-radius:6px;letter-spacing:.04em;vertical-align:middle}

.odc .gift.peek{cursor:default;border-color:var(--o-amber);background:var(--o-tint-amber);min-height:120px}
.odc .gift.peek:hover{transform:none}


/* ---------- ortak liderlik çekirdeği (lb/lb.css) bu oyunun defter temasıyla ---------- */
.odc .mklb,.odc .end-name{--lb-ink:var(--o-ink);--lb-muted:var(--o-ink-soft);--lb-line:var(--o-line);--lb-glass:var(--o-surface);--lb-accent:var(--o-red);--lb-on:var(--o-red);--lb-on2:var(--o-red-dark);--lb-bg:var(--o-paper-soft);--lb-row:var(--o-line);--lb-well:var(--o-surface);--lb-me:color-mix(in srgb,var(--o-hi) 55%,var(--o-surface));--lb-err:var(--o-danger)}
.odc .end-name{margin:14px 0 4px}
.odc .end-name .mklb-adi{background:var(--o-surface);color:var(--o-ink);border-width:2px}
.odc .modal-lb{width:min(680px,100%)}
