/* Shared "Unlock Pro" strip + dialog. Uses the tokens in moxu-tokens.css. Amber = paid (brief: amber is reserved for Pro). */
.mu-strip { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mu-badge { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.02em; border: 1px solid var(--line); color: var(--text-dim); }
.mu-badge--pro { color: var(--pro); border-color: var(--pro); background: var(--pro-wash); }
.mu-link { background: none; border: 0; padding: 0; color: var(--text-dim); font: inherit; font-size: 12.5px; text-decoration: underline; cursor: pointer; }
.mu-link:hover { color: var(--text); }
.mu-btn { height: 30px; padding: 0 12px; border-radius: var(--r-md); border: 1px solid var(--pro); background: var(--pro-wash); color: var(--pro); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.mu-btn:hover { background: var(--pro); color: #1a1300; }
.mu-dialog { width: min(480px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--line-bright); border-radius: var(--r-lg); background: var(--surface); color: var(--text); }
.mu-dialog::backdrop { background: rgba(0, 0, 0, 0.6); }
.mu-dialog__body { padding: 22px; display: grid; gap: 14px; }
.mu-dialog h2 { margin: 0; font-size: 18px; }
.mu-dialog p { margin: 0; color: var(--text-dim); font-size: 14px; }
.mu-why { color: var(--pro) !important; font-weight: 600; }
.mu-list { margin: 0; padding-left: 18px; color: var(--text-dim); font-size: 14px; display: grid; gap: 3px; }
.mu-key { width: 100%; min-height: 84px; padding: 10px; background: var(--bg-deep); color: var(--text); border: 1px solid var(--line); border-radius: var(--r-md); font-family: var(--font-mono); font-size: 12px; resize: vertical; }
.mu-key:focus { outline: none; border-color: var(--accent); }
.mu-msg { min-height: 1.3em; font-size: 13px; color: var(--danger); }
.mu-msg.is-ok { color: var(--ok); }
.mu-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.mu-actions .mu-primary { height: 38px; padding: 0 18px; border-radius: var(--r-md); border: 1px solid var(--accent-deep); background: var(--accent); color: #04121e; font: inherit; font-weight: 600; cursor: pointer; }
.mu-actions .mu-primary:disabled { opacity: 0.5; cursor: wait; }
.mu-actions a.mu-buy { display: inline-flex; align-items: center; height: 38px; padding: 0 18px; border-radius: var(--r-md); border: 1px solid var(--pro); color: var(--pro); font-weight: 600; text-decoration: none; }
.mu-actions a.mu-buy:hover { background: var(--pro-wash); }
.mu-soon { font-size: 13px; color: var(--text-faint); }

/* Saved presets panel (moxu-presets.js) */
.mp-save { display: flex; gap: 8px; margin: 10px 0; }
.mp-list { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 6px; }
.mp-list:empty { display: none; }
.mp-item { display: flex; align-items: center; gap: 8px; padding: 6px 8px 6px 10px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--bg-deep); }
.mp-item__name { flex: 1; min-width: 0; font-weight: 600; font-size: 13.5px; overflow-wrap: anywhere; }
.mp-del { width: 28px; height: 28px; border: 0; border-radius: var(--r-sm); background: none; color: var(--text-faint); font-size: 18px; cursor: pointer; }
.mp-del:hover { color: var(--danger); }
.mp-status { margin: 0; min-height: 1.2em; font-size: 13px; color: var(--text-dim); }
.mp-status.is-ok { color: var(--ok); }
.pro-tag { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; border: 1px solid var(--pro); color: var(--pro); font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em; vertical-align: 1px; }
.pro-limit { margin: 8px 0 0; font-size: 13px; color: var(--pro); }
.pro-limit:empty { display: none; }
.bar__right { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 640px) { .bar { height: auto; padding: 10px 14px; flex-wrap: wrap; } .bar__right { justify-content: flex-start; } }
.footnote a { color: var(--accent-bright); }
