/* ---------- states ---------- */
.mk .sk{border-radius:1px;background:linear-gradient(90deg,rgba(242,235,219,.05) 0%,rgba(226,194,125,.16) 40%,rgba(242,235,219,.05) 80%);background-size:250% 100%;animation:shimmer 1.4s linear infinite}
@keyframes shimmer{from{background-position:100% 0}to{background-position:-150% 0}}
.mk .sk-row{display:grid;grid-template-columns:2fr 1fr 1fr 2fr 1fr;gap:16px;padding:16px 18px;border-top:1px solid var(--m-line)}
.mk .sk-row:first-child{border-top:0}
.mk .sk{height:12px;max-width:100%}
.mk .sk.t{height:22px;width:60%}
.mk .errbox{border:1px solid rgba(227,104,122,.45);background:linear-gradient(180deg,rgba(227,104,122,.07),transparent);padding:22px 24px;display:grid;gap:8px;max-width:640px}
.mk .errbox h2{font-family:var(--m-disp);font-size:24px;font-weight:600;display:flex;align-items:center;gap:10px}
.mk .errbox h2 .ic{color:var(--m-red);width:22px;height:22px}
.mk .errbox p{color:var(--m-muted);font-size:13px}
.mk .errbox .act-row{margin-top:6px;align-items:center}
.mk .errbox small{color:var(--m-faint);font-size:11.5px}
.mk .empty{border:1px dashed var(--m-gl);padding:44px 24px;display:grid;justify-items:center;text-align:center;gap:10px;background:radial-gradient(60% 80% at 50% 0%,rgba(207,174,110,.06),transparent 70%)}
.mk .empty svg.em{width:64px;height:64px}
.mk .empty h2{font-family:var(--m-disp);font-size:26px;font-weight:600}
.mk .empty p{color:var(--m-muted);font-size:13px;max-width:44ch}

/* ---------- note sheet, confirm sheet, toast ---------- */
.mk .ov{position:absolute;inset:0;background:rgba(4,6,12,.6);display:flex;align-items:center;justify-content:center;padding:16px;z-index:20;animation:fade .25s ease both;backdrop-filter:blur(2px)}
@keyframes fade{from{opacity:0}}
.mk.phone .ov{align-items:flex-end;padding:0}
.mk .ov-card{background:var(--m-panel);border:1px solid var(--m-gl);border-radius:3px;width:100%;max-width:460px;padding:20px;display:grid;gap:12px;box-shadow:0 24px 60px rgba(0,0,0,.45);animation:pop .35s var(--spring) both}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.98)}}
.mk.phone .ov-card{border-radius:18px 18px 0 0;max-width:none;padding:18px 16px 30px;animation:sheet .45s var(--spring) both}
@keyframes sheet{from{transform:translateY(100%)}}
.mk .ov-card::before{content:"";display:none}
.mk.phone .ov-card::before{display:block;width:38px;height:4px;border-radius:2px;background:#3a4160;justify-self:center;margin:-6px 0 2px}
.mk .ov-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mk .ov-h h4{font-family:var(--m-disp);font-size:21px;font-weight:600}
.mk .ov-sub{color:var(--m-muted);font-size:12.5px}
.mk .chips{display:flex;flex-wrap:wrap;gap:6px}
.mk .chip{border:1px solid var(--m-line);background:var(--m-panel2);border-radius:2px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .2s,color .2s}
.mk .chip[aria-checked="true"]{background:var(--m-gold);color:#1a1306;border-color:var(--m-gold)}
.mk .ov-lbl{font-size:12px;font-weight:700;color:var(--m-muted)}
.mk textarea{width:100%;font:inherit;font-size:13px;color:var(--m-fg);background:#0a0f1e;border:1px solid var(--m-line);border-radius:1px;padding:9px 10px;resize:vertical}
.mk textarea:focus{border-color:var(--m-gl)}
.mk .ov-err{color:var(--m-red);font-size:12px}
.mk .ov-f{display:flex;justify-content:flex-end;gap:8px}
.mk.phone .ov-f .btn{flex:1;padding:12px 14px;font-size:14px}
.mk .toast{position:absolute;left:50%;bottom:24px;transform:translate(-50%,14px) scale(.96);opacity:0;background:linear-gradient(180deg,#ecd08f,#c7a35d);color:#1a1306;padding:11px 16px;border-radius:2px;font-size:12.5px;font-weight:600;transition:opacity .25s,transform .45s var(--spring);pointer-events:none;z-index:30;width:max-content;max-width:calc(100% - 32px);text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.mk .toast.on{opacity:1;transform:translate(-50%,0) scale(1)}
.mk.phone .toast{bottom:auto;top:96px;transform:translate(-50%,-14px) scale(.96)}
.mk.phone .toast.on{transform:translate(-50%,0) scale(1)}

/* comet: a merchant flying to its new place */
.comet{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:radial-gradient(circle,#fff6da 0 30%,#e2c27d 60%,rgba(226,194,125,0) 72%);box-shadow:0 0 14px 4px rgba(226,194,125,.55);pointer-events:none;z-index:60}
.comet.t{width:6px;height:6px;margin:-3px 0 0 -3px;box-shadow:0 0 8px 2px rgba(226,194,125,.35);opacity:.6}

/* screen entrance */
.mk .enter .st-in{animation:stIn .55s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes stIn{from{opacity:0;transform:translateY(10px)}}

