.me-hide { display: none !important; }
.me-abc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
/* electricity appliance table */
.me-app { display: grid; gap: 6px; }
.me-app-h, .me-app-r { display: grid; grid-template-columns: minmax(0, 1fr) 58px 72px 64px; gap: 6px; align-items: center; }
.me-app-h span { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.me-app-r span { font-size: .9rem; color: var(--ink-2); line-height: 1.3; }
.fld .me-app-r input { padding: 8px 6px !important; text-align: center; font-size: .92rem !important; border-radius: 10px !important; -moz-appearance: textfield; }
.me-app-r input::-webkit-outer-spin-button, .me-app-r input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* primes list */
.me-primes { display: flex; flex-wrap: wrap; gap: 6px; max-height: 360px; overflow: auto; }
.me-primes span { min-width: 44px; padding: 5px 8px; text-align: center; border-radius: 8px; background: var(--surface-2); font-size: .85rem; font-variant-numeric: tabular-nums; }
.me-primes span.on { background: var(--brand); color: #fff; font-weight: 700; }
/* random numbers */
.me-rand { display: flex; flex-wrap: wrap; gap: 8px; max-height: 320px; overflow: auto; }
.me-rand span { padding: 8px 12px; border-radius: 10px; background: var(--surface-2); font-weight: 700; font-variant-numeric: tabular-nums; animation: popIn .3s ease both; }
.me-rand.one { justify-content: center; }
.me-rand.one span { font-size: clamp(2.6rem, 8vw, 3.6rem); padding: 18px 34px; border-radius: 20px; background: linear-gradient(135deg, var(--brand), #e2552f); color: #fff; letter-spacing: -.02em; }
/* area shape */
.me-shape { width: 140px; height: 100px; margin: 0 auto; display: block; }
.me-shape > * { fill: var(--brand-50); stroke: var(--brand); stroke-width: 3; stroke-linejoin: round; }
.me-shape .d { fill: none; stroke-dasharray: 5 4; stroke-width: 2; }
/* dice / coin / picker */
.me-dc { display: grid; gap: 18px; }
.me-tabs span i { margin-right: 4px; }
.me-pane { display: grid; gap: 16px; }
.me-pane[hidden] { display: none; }
.me-stage { min-height: 150px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: center; padding: 16px; border-radius: 18px; background: var(--surface-2); perspective: 700px; }
.me-die { width: 64px; height: 64px; padding: 9px; border-radius: 14px; background: #fff; border: 1px solid var(--border); box-shadow: 0 8px 18px -10px rgba(15, 20, 32, .5), inset 0 -3px 0 rgba(0, 0, 0, .06); display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); place-items: center; animation: popIn .25s ease both; }
.me-die i { width: 11px; height: 11px; border-radius: 50%; }
.me-die i.p { background: var(--ink); }
.me-die[data-v="1"] i.p { background: var(--brand); width: 14px; height: 14px; }
.me-stage.rolling .me-die { animation: me-shake .15s linear infinite; }
@keyframes me-shake { 0% { transform: rotate(-12deg) translateY(-4px); } 50% { transform: rotate(10deg) translateY(2px); } 100% { transform: rotate(-12deg) translateY(-4px); } }
.me-coin { position: relative; width: 120px; height: 120px; transform-style: preserve-3d; transition: transform 1s cubic-bezier(.2, .7, .2, 1); }
.me-face { position: absolute; inset: 0; border-radius: 50%; display: grid; place-content: center; text-align: center; font-size: 2.6rem; font-weight: 800; color: #7c4a03; backface-visibility: hidden; -webkit-backface-visibility: hidden;
  background: radial-gradient(circle at 35% 30%, #fde68a, #f59e0b 70%, #b45309); box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .35), 0 10px 22px -10px rgba(120, 53, 15, .7); line-height: 1; }
.me-face small { font-size: .62rem; letter-spacing: .14em; margin-top: 6px; }
.me-face.t { transform: rotateY(180deg); background: radial-gradient(circle at 35% 30%, #f1f5f9, #cbd5e1 70%, #64748b); color: #334155; }
.me-big { text-align: center; font-size: 1.15rem; color: var(--ink-2); min-height: 1.6em; }
.me-big b { font-size: 1.6rem; color: var(--brand); }
.me-big small { color: var(--muted); font-size: .85rem; }
.me-pickres { font-size: 1.4rem; padding: 18px; border-radius: 16px; background: var(--surface-2); }
.me-pickres.spin { color: var(--muted); }
.me-pickres i { color: #f59e0b; }
.me-go { justify-content: center; }
.me-go .btn { min-width: 180px; justify-content: center; }
.me-hist { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.me-hist li { padding: 6px 10px; border-radius: 10px; background: var(--surface-2); font-size: .85rem; color: var(--ink-2); animation: popIn .25s ease both; }
.me-hist li i { color: var(--brand); margin-right: 4px; }
.me-hist li.me-empty { background: none; color: var(--muted); padding-left: 0; }
@media (prefers-reduced-motion: reduce) { .me-coin { transition: none; } .me-stage.rolling .me-die { animation: none; } }
.me-top > .fld { align-content: start; }
