/* Shared tactile controls; no layout changes on hover or press. */
.tile,.stat-card {
  box-shadow: 0 5px 0 rgba(20,25,30,.13), 0 9px 18px rgba(20,25,30,.10), inset 0 1px 0 rgba(255,255,255,.6);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn:not(.btn-ghost),.mt-check,.date-pill {
  box-shadow: 0 3px 0 rgba(20,25,30,.18), 0 5px 10px rgba(20,25,30,.07), inset 0 1px 0 rgba(255,255,255,.3);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn-ghost { box-shadow: 0 2px 0 rgba(20,25,30,.08); }
.tile-label,.btn,.theme-sheet-header h3 { letter-spacing: 0; }
.mt-entry {
  position: relative;
  background: linear-gradient(155deg,#ffb64a 0%,#ff891c 65%,#f57814 100%);
  color: #241104;
  border: 1px solid #e56c0a;
  border-radius: 18px;
  padding: 25px 22px;
  min-height: 112px;
  margin-bottom: 28px;
  box-shadow: 0 7px 0 #b34d08, 0 13px 24px rgba(125,55,9,.24), inset 0 2px 0 rgba(255,255,255,.65);
  align-items: center;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.mt-entry strong { font-size: 28px; font-weight: 850; letter-spacing: 0; }
.mt-entry span { font-size: 14px; font-weight: 650; }
.mt-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; }
.mt-entry-summary { grid-column:1 / -1; display:grid; gap:10px; min-width:0; }
.mt-entry-group { display:grid; gap:3px; min-width:0; }
.mt-entry-group b { font-size:16px; }
.mt-entry-preview { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; line-height:1.4; }
.mt-entry-open { grid-column:2; grid-row:1; white-space:nowrap; }
.mt-entry-overdue { color:#701b00; }
@media(max-width:480px) { .mt-entry { grid-template-columns:minmax(0,1fr); } .mt-entry-open { grid-column:1;grid-row:auto; } }
.mt-progress { border-radius: 14px; box-shadow: 0 4px 0 #090909,0 9px 18px #0002; margin-bottom: 24px; }
.mt-controls #mt-add { box-shadow: 0 4px 0 #125111,0 7px 14px #0002,inset 0 1px 0 #ffffff50; }
@media(hover:hover) and (pointer:fine) {
  .tile:hover,.stat-card:hover { transform: translateY(-3px); box-shadow: 0 8px 0 rgba(20,25,30,.12),0 13px 23px rgba(20,25,30,.15); }
  .btn:not(:disabled):hover,.mt-check:hover { filter: brightness(1.06); }
  .mt-entry:hover { transform: translateY(-3px); filter: brightness(1.04); box-shadow: 0 10px 0 #b34d08,0 18px 28px rgba(125,55,9,.25),inset 0 2px 0 #ffffff90; }
}
.tile:active,.stat-card:active,.btn:not(:disabled):active,.mt-check:active,.date-pill:active {
  transform: translateY(3px) scale(.985);
  box-shadow: 0 1px 0 rgba(20,25,30,.2), inset 0 1px 3px rgba(0,0,0,.08);
}
.mt-entry:active { transform: translateY(5px) scale(.99); box-shadow: 0 2px 0 #b34d08,0 4px 8px #0002; }
:is(.tile,.stat-card,.mt-entry,.btn,.mt-check):focus-visible { outline: 3px solid #1976d2; outline-offset: 5px; }
.view:not(.hidden) .tile { animation: control-arrive .32s ease backwards; }
.view:not(.hidden) .tile:nth-child(2n) { animation-delay: .035s; }
.view:not(.hidden) .tile:nth-child(3n) { animation-delay: .07s; }
.mt-dialog[open] { animation: control-arrive .2s ease; }
.sound-setting { display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:20px;padding:16px 2px 4px;font-weight:650;color:var(--ink); }
.sound-setting input { appearance:auto;width:24px;height:24px;margin:0;accent-color:#f57814;cursor:pointer; }
[data-theme="dark"] .tile,[data-theme="dark"] .stat-card { box-shadow:0 5px 0 #0009,0 9px 18px #0005,inset 0 1px 0 #ffffff18; }
@keyframes control-arrive { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
  .tile:hover,.tile:active,.stat-card:hover,.stat-card:active,.mt-entry:hover,.mt-entry:active,.btn:active,.mt-check:active,.date-pill:active { transform:none!important; }
}
@media(max-width:420px) { .mt-entry { padding:22px 18px;gap:8px; } .mt-entry strong { font-size:26px; } }
