/* Hesap makinesi (UYG 55, 0.3.10, 23.10.2026) — renkler yalnız tema değişkenlerinden. */
.hm-ekran { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; min-height: 152px; padding: 14px 16px 12px; text-align: right; overflow: hidden; }
.hm-ifade { color: var(--tx); white-space: nowrap; overflow-x: hidden; overflow-y: auto; max-height: 3.5em; line-height: 1.18; font-weight: 500; min-height: 1.18em; transition: font-size .12s; }
.hm-ifade .hm-eksik { color: var(--mt); opacity: .55; }
.hm-sonuc { display: block; width: 100%; min-height: 34px; margin: 0; padding: 0; border: 0; background: none; color: var(--mt); text-align: right; white-space: nowrap; overflow: hidden; line-height: 1.15; cursor: pointer; font-weight: 500; -webkit-tap-highlight-color: transparent; }
.hm-sonuc:disabled { cursor: default; color: var(--mt); }
.hm-ekran.bitti .hm-ifade { color: var(--mt); font-weight: 400; }
.hm-ekran.bitti .hm-sonuc { color: var(--tx); font-weight: 600; min-height: 60px; }
.hm-sonuc.hm-hata, .hm-ekran.bitti .hm-sonuc.hm-hata { color: var(--p-kirmizi-yazi); font-family: var(--metin); font-weight: 600; }
.hm-sar { white-space: normal !important; overflow-wrap: anywhere; word-break: break-all; }
.hm-kopyalandi { position: absolute; top: 10px; left: 12px; padding: 3px 10px; border-radius: 999px; background: var(--ac); color: var(--onac); font-size: 13px; font-weight: 600; opacity: 0; transform: translateY(-4px); transition: opacity .18s, transform .18s; pointer-events: none; }
.hm-kopyalandi.gorunur { opacity: 1; transform: none; }

.hm-tuslar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 4px 0 6px; }
.hm-t { height: 62px; min-height: 56px; min-width: 0; padding: 0; border-radius: 18px; border: 1px solid var(--ln); background: var(--sf); color: var(--tx);
  font-family: var(--sayi); font-size: 27px; font-weight: 500; line-height: 1; cursor: pointer;
  touch-action: manipulation; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; transition: transform .06s, filter .06s; }
.hm-t:active { transform: scale(.95); filter: brightness(.94); }
.hm-t:focus-visible { outline: 2px solid var(--ac); outline-offset: 2px; }
/* 0.3.10 kullanıcı 23.10.2026 18:42: yalnız = renkli; işlem ve işlev tuşları çok hafif gri */
.hm-t.fn { background: color-mix(in srgb, var(--tx) 6%, var(--sf)); color: var(--tx); font-size: 24px; font-weight: 600; }
.hm-t.par { grid-column: span 2; height: 56px; }
.hm-t.op { background: color-mix(in srgb, var(--tx) 6%, var(--sf)); border-color: var(--ln); color: var(--tx); font-size: 31px; font-weight: 500; }
.hm-t.esit { background: var(--ac); border-color: var(--ac); color: var(--onac); font-size: 32px; font-weight: 600; }

.hm-gecmis-bas { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.hm-gecmis-bas .menu-baslik { margin-right: 0; }
.hm-gtemizle { margin: 10px 4px 0 0; min-height: 44px; }
.hm-gecmis-liste { padding: 4px 12px; }
.hm-gsatir { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; width: 100%; min-height: 52px; padding: 9px 2px; border: 0; border-bottom: 1px solid var(--ln); background: none; color: var(--tx); text-align: right; cursor: pointer; font: inherit; }
.hm-gsatir:last-child { border-bottom: 0; }
.hm-gifade { font-size: 14px; overflow-wrap: anywhere; word-break: break-word; max-width: 100%; }
.hm-gsonuc { font-size: 19px; font-weight: 600; overflow-wrap: anywhere; max-width: 100%; }
.hm-bos { margin: 10px 2px; text-align: left; }
@media (max-width: 350px) { .hm-tuslar { gap: 8px; } .hm-t { height: 58px; } }
.hm-t[data-hk="."] { font-size: 34px; font-weight: 600; }
.hm-t[data-hk="±"] { font-size: 28px; }
