/* Visual redesign 2026-10-22: paid entry, in-page board, checkout and ranking dialogs share styles.css tokens.
   Tiers keep their data-tier hooks but read through the label and dashes, with clay as the one accent. */
.mc-entry { margin: 0 17px 12px; padding: 13px; border: 1px solid var(--line-strong); border-left: 3px solid var(--accent); border-radius: 2px; background: var(--grain), var(--raise); }
.mc-entry-heading { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 8px; }
.mc-entry-title { flex: 1 1 100%; margin-bottom: 4px; color: var(--paper); font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.mc-entry button { flex: 1 1 auto; color: var(--ink); background: var(--paper); border: 1px solid var(--paper); border-radius: 2px; font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; padding: 8px 10px; white-space: nowrap; }
.mc-entry button:hover { background: #fffaf1; }
.mc-entry p { margin: 9px 0 0; font-size: 11px; color: var(--muted); line-height: 1.7; }
.mc-entry .mc-service-state { color: var(--soft); font-family: var(--font-mono); font-size: 10px; }
.mc-board { position: absolute; top: 12%; bottom: 14%; right: 2%; width: 27%; max-width: 300px; z-index: 4; display: flex; flex-direction: column; gap: 6px; color: var(--paper); font-size: clamp(9px, .8vw, 12px); pointer-events: auto; }
.mc-board-heading { display: flex; justify-content: space-between; align-items: center; font-family: var(--font-mono); font-size: .85em; font-weight: 600; color: var(--paper); text-shadow: 0 1px 4px #000; letter-spacing: .18em; }
.mc-board-heading::before { content: ""; width: 3px; height: 1.1em; background: var(--accent); margin-right: .6em; }
.mc-board-count { margin-left: auto; font-size: .9em; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.mc-board-list { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #33414f transparent; display: flex; flex-direction: column; gap: 6px; padding-right: 3px; }
.mc-board-card { position: relative; flex: 0 0 auto; min-width: 0; border: 1px solid #ece8e033; background: #0b111ad9; backdrop-filter: blur(6px); padding: .8em .9em; border-radius: 0; }
.mc-board-card::before, .mc-board-card::after { content: ""; position: absolute; width: 8px; height: 8px; border-color: var(--accent); border-style: solid; pointer-events: none; }
.mc-board-card::before { top: -1px; left: -1px; border-width: 1px 0 0 1px; }
.mc-board-card::after { bottom: -1px; right: -1px; border-width: 0 1px 1px 0; }
.mc-card-heading { display: flex; align-items: center; gap: 6px; min-width: 0; }
.mc-token-logo { position: relative; width: 24px; height: 24px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; background: #18212d; border: 1px solid var(--line-strong); color: var(--accent); overflow: hidden; }
.mc-token-logo img { position: absolute; width: 100%; height: 100%; object-fit: contain; background: #111823; }
.mc-card-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1em; font-weight: 600; }
.mc-card-amount { color: var(--clay); font-family: var(--font-mono); font-weight: 600; font-size: .95em; margin-left: auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mc-card-chain { display: block; color: var(--muted); font-family: var(--font-mono); font-size: .7em; letter-spacing: .12em; margin-top: 7px; text-transform: uppercase; }
.mc-card-ca { display: block; margin-top: 3px; font-family: var(--font-mono); font-size: .76em; line-height: 1.45; overflow-wrap: anywhere; user-select: all; color: var(--soft); }
.mc-card-message { margin: 7px 0; font-size: .98em; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.mc-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 6px; color: var(--muted); font-family: var(--font-mono); font-size: .7em; letter-spacing: .08em; text-transform: uppercase; }
.mc-card-time { color: var(--paper); font-variant-numeric: tabular-nums; font-size: 1.1em; letter-spacing: .04em; }
dialog.mc-dialog { width: min(570px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); overflow: auto; padding: 26px; border-color: var(--line-strong); border-top: 2px solid var(--accent); background: var(--grain), var(--raise); color: var(--paper); }
.mc-dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; }
.mc-dialog-heading h2 { margin: 6px 0 12px; font-size: 30px; }
.mc-dialog .mc-kicker { margin: 0; color: var(--accent); font-family: var(--font-mono); font-size: 10px; letter-spacing: .2em; }
.mc-close { flex-shrink: 0; border: 1px solid var(--line-strong); border-radius: 2px; width: 32px; height: 32px; background: transparent; color: var(--soft); font-size: 20px; line-height: 1; }
.mc-close:hover { color: var(--paper); border-color: var(--soft); }
.mc-dialog .mc-explainer { margin: 0 0 20px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.mc-dialog .mc-error { margin: 10px 0; min-height: 0; color: var(--danger); font-size: 12px; overflow-wrap: anywhere; }
.mc-dialog .mc-config-status { padding: 10px 12px; color: var(--soft); background: #080d14; border: 1px solid var(--line); border-left: 2px solid var(--amber); border-radius: 0; margin-bottom: 15px; font-family: var(--font-mono); font-size: 11px; }
.mc-fields { display: grid; gap: 14px; }
.mc-fields label { margin: 0; color: var(--soft); font-family: var(--font-sans); font-size: 11px; letter-spacing: 0; text-transform: none; }
.mc-fields label > span { display: block; margin-bottom: 7px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.mc-fields input, .mc-fields select, .mc-fields textarea, .mc-dialog .mc-tx-input { width: 100%; border: 1px solid var(--line-strong); border-radius: 2px; background: #080d14; color: var(--paper); padding: 10px; font: inherit; font-size: 13px; }
.mc-fields input:is(#mc-ca, #mc-ranking-ca), .mc-dialog .mc-tx-input { font-family: var(--font-mono); font-size: 12px; }
.mc-fields textarea { resize: vertical; min-height: 83px; }
.mc-fields select { min-height: 40px; }
.mc-fields :is(input, select, textarea):focus, .mc-dialog .mc-tx-input:focus { outline: 1px solid var(--soft); outline-offset: -1px; border-color: var(--soft); }
.mc-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.mc-dialog .mc-estimate { color: var(--paper); margin: 8px 0 0; font-family: var(--font-mono); font-size: 11px; }
.mc-dialog .mc-pricing-notice { padding: 10px 12px; margin: 0; color: var(--soft); background: #080d14; border: 1px solid var(--line); border-left: 2px solid var(--amber); border-radius: 0; font-size: 11px; line-height: 1.7; }
.mc-fields #mc-tier { color: var(--paper); font-variant-numeric: tabular-nums; }
.mc-order-details #mc-order-duration { color: var(--paper); font-family: var(--font-mono); font-size: 16px; }
.mc-dialog .mc-hint { color: var(--muted); margin: 6px 0 0; font-size: 11px; line-height: 1.7; }
.mc-dialog .mc-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 17px; flex-wrap: wrap; }
.mc-dialog .mc-submit { color: var(--ink); background: var(--paper); border: 1px solid var(--paper); border-radius: 2px; padding: 10px 14px; font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.mc-dialog .mc-submit:hover:not(:disabled) { background: #fffaf1; }
.mc-dialog button:disabled { opacity: .45; }
.mc-dialog .mc-priority { font-family: var(--font-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.mc-order-state { padding: 12px; border: 1px solid var(--line-strong); border-left: 2px solid var(--amber); border-radius: 0; background: #080d14; color: var(--paper); font-size: 12px; line-height: 1.7; margin: 3px 0 16px; }
.mc-order-state[data-paid="true"] { border-left-color: var(--accent); background: var(--accent-soft); }
.mc-order-details { display: grid; gap: 13px; margin: 0 0 18px; }
.mc-order-details dt { color: var(--muted); font-family: var(--font-mono); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 5px; }
.mc-order-details dt:not(:first-child) { margin-top: 13px; }
.mc-order-details code { font-family: var(--font-mono); }
.mc-order-details #mc-payment-token-address { user-select: all; color: var(--soft); }
.mc-order-details dd { margin: 0; color: var(--paper); font-size: 13px; overflow-wrap: anywhere; }
.mc-order-details .mc-pay-amount { color: var(--clay); font-family: var(--font-display); font-size: 40px; font-weight: 900; line-height: 1; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.mc-payment-address { display: flex; align-items: center; gap: 10px; }
.mc-payment-address code { flex: 1; user-select: all; overflow-wrap: anywhere; }
.mc-copy { padding: 6px 9px; border-radius: 2px; border: 1px solid var(--line-strong); background: transparent; color: var(--paper); font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.mc-copy:hover { border-color: var(--soft); }
.mc-dialog .mc-payment-warning { margin: 0 0 18px; font-size: 12px; color: var(--soft); padding-left: 10px; border-left: 2px solid var(--amber); }
.mc-dialog .mc-order-clock { color: var(--paper); font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.mc-dialog .mc-tx-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--soft); margin-bottom: 7px; }
.mc-dialog .mc-verify-help { font-size: 11px; color: var(--muted); margin: 8px 0 0; }
/* The standalone overlay page loads only this file; it repeats the tokens it uses.
   Reason: styles.css paints an opaque root background, which an OBS browser source must not get. */
.mc-overlay-page { --font-sans: "SBF Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; --font-mono: "SBF Mono", ui-monospace, Consolas, "Microsoft YaHei", monospace;
  --ink: #0b111a; --line-strong: #33414f; --paper: #ece8e0; --soft: #c4c0b8; --muted: #8f9cab; --clay: #d97757; --accent: #5fcade; }
.mc-overlay-page { margin: 0; background: transparent !important; color: var(--paper); font-family: var(--font-sans); min-width: 0; }
.mc-overlay-page [hidden] { display: none !important; }
.mc-overlay-page * { box-sizing: border-box; }
.mc-overlay-stage { position: fixed; inset: 0; }
.mc-overlay-page .mc-board { max-width: none; font-size: clamp(10px, 1.05vw, 22px); }
.mc-overlay-page .mc-token-logo { width: 2em; height: 2em; }
.mc-overlay-page .mc-board-card { padding: 1em; }
@media (max-width: 700px) {
  .mc-board { width: 29%; top: 11%; bottom: 15%; font-size: 9px; gap: 4px; }
  .mc-board-list { gap: 4px; }
  .mc-board-card { padding: 6px; }
  .mc-board-card::before, .mc-board-card::after { width: 5px; height: 5px; }
  .mc-token-logo { width: 18px; height: 18px; }
  .mc-card-heading { gap: 4px; flex-wrap: wrap; }
  .mc-card-name { flex: 1; }
  .mc-card-amount { font-size: .9em; }
  .mc-card-chain { margin-top: 5px; }
  .mc-card-message { margin: 5px 0; -webkit-line-clamp: 2; }
  .mc-card-footer { font-size: .7em; gap: 2px; }
  .mc-dialog { padding: 20px; }
  .mc-dialog-heading h2 { font-size: 26px; }
}
@media (max-width: 420px) {
  .mc-field-row { grid-template-columns: 1fr; }
  .mc-board { font-size: 8px; width: 30%; }
  .mc-card-ca { line-height: 1.3; }
}
@media (max-width: 540px) {
  #video-stage { width: calc(100% - 16px); }
  .mc-fields input, .mc-fields select, .mc-fields textarea, .mc-dialog .mc-tx-input { font-size: 16px; }
}
.mc-board [data-tier] { --mc-accent: var(--clay); --mc-surface: #0b111ad9; }
.mc-sc-strip { display: flex; gap: 4px; min-height: 34px; overflow-x: auto; flex-shrink: 0; scrollbar-width: thin; }
.mc-sc-chip { min-width: 70px; position: relative; overflow: hidden; border-radius: 0; background: var(--mc-surface); border: 1px solid #ece8e033; padding: 5px 8px 8px; display: grid; gap: 2px; font-family: var(--font-mono); }
.mc-sc-chip strong { font-weight: 600; color: var(--paper); font-variant-numeric: tabular-nums; }
.mc-sc-chip::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: #56636f; }
.mc-sc-chip::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--mc-accent); transform: scaleX(var(--mc-remaining, 1)); transform-origin: left; transition: transform 1s linear; }
.mc-sc-chip-time { font-size: .8em; color: var(--muted); font-variant-numeric: tabular-nums; }
.mc-board-card { background: var(--mc-surface); }
.mc-card-amount { color: var(--mc-accent); }
.mc-ranking-open, .mc-ranking-add, .mc-ranking-vote { border: 1px solid var(--line-strong); border-radius: 2px; color: var(--paper); background: transparent; cursor: pointer; padding: 8px 11px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.mc-ranking-open:hover, .mc-ranking-add:hover, .mc-ranking-vote:hover { border-color: var(--accent); color: var(--accent); }
.mc-entry .mc-ranking-open { background: transparent; border: 1px solid var(--line-strong); color: var(--paper); }
.mc-entry .mc-ranking-open:hover { border-color: var(--accent); color: var(--accent); background: transparent; }
.mc-ranking-dialog { width: min(650px, calc(100vw - 28px)) !important; border-color: var(--line-strong) !important; border-top-color: var(--accent) !important; }
.mc-ranking-note, .mc-ranking-status, .mc-purpose-note { font-size: 12px; line-height: 1.7; color: var(--muted); }
.mc-purpose-note { padding: 10px 12px; border: 1px solid var(--line); border-left: 2px solid var(--accent); background: #080d14; }
.mc-ranking-browser { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 14px; }
.mc-ranking-browser > summary { cursor: pointer; font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--soft); }
.mc-ranking-browser > summary:hover { color: var(--paper); }
.mc-ranking-list { display: grid; gap: 6px; margin: 16px 0; counter-reset: none; }
.mc-ranking-card { padding: 12px 13px; border: 1px solid var(--line); border-radius: 0; background: #0b111a; }
.mc-ranking-card:first-child { border-color: #ece8e033; box-shadow: inset 2px 0 0 var(--accent); }
.mc-ranking-card-top, .mc-ranking-card-bottom { display: flex; align-items: center; gap: 9px; }
.mc-ranking-card-bottom { justify-content: space-between; margin-top: 10px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.mc-ranking-rank { min-width: 34px; padding: 3px 0; text-align: center; font-family: var(--font-display); font-weight: 900; font-size: 18px; line-height: 1; color: var(--paper); background: linear-gradient(#172130 50%, #04070b 50%, #04070b calc(50% + 1px), #111823 calc(50% + 1px)); border-radius: 2px; }
.mc-ranking-name { flex: 1; overflow-wrap: anywhere; min-width: 0; font-family: var(--font-display); font-weight: 900; font-size: 18px; letter-spacing: .02em; text-transform: uppercase; }
.mc-ranking-votes { color: var(--accent); font-family: var(--font-mono); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mc-ranking-card .mc-card-ca { margin-top: 8px; font-size: 11px; color: var(--muted); }
.mc-ranking-new { display: grid; grid-template-columns: 140px 1fr auto; gap: 8px; margin-top: 13px; }
.mc-ranking-new[hidden], .mc-purpose-note[hidden] { display: none !important; }
.mc-ranking-new input, .mc-ranking-new select { min-width: 0; border: 1px solid var(--line-strong); border-radius: 2px; background: #080d14; color: var(--paper); padding: 9px; }
@media (max-width: 540px) { .mc-ranking-new { grid-template-columns: 1fr; } .mc-ranking-card { padding: 10px; } .mc-sc-strip { min-height: 32px; } .mc-ranking-name { font-size: 16px; } }

.mc-ranking-checkout .mc-ranking-target { overflow-wrap: anywhere; color: var(--soft); line-height: 1.7; padding: 12px; border: 1px solid var(--line); border-left: 2px solid var(--accent); border-radius: 0; background: #080d14; }
.mc-ranking-pay-form > .mc-submit { width: 100%; min-height: 44px; margin-top: 14px; }
.mc-ranking-checkout .mc-order-details dd { user-select: text; overflow-wrap: anywhere; }
.mc-ranking-checkout form:not(.mc-ranking-pay-form) { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0; }
.mc-ranking-checkout .mc-tx-input { flex: 1 1 240px; }
.mc-ranking-checkout .mc-ranking-order > button { margin: 5px 10px 5px 0; }
.mc-dialog .mc-wallet-picker { display: grid; gap: 7px; margin: 12px 0 18px; color: var(--soft); font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.mc-dialog .mc-wallet-picker select { width: 100%; border: 1px solid var(--line-strong); border-radius: 2px; background: #080d14; color: var(--paper); padding: 11px; font-family: var(--font-sans); font-size: 13px; letter-spacing: 0; text-transform: none; }
.mc-dialog .mc-wallet-picker small { color: var(--muted); line-height: 1.7; font-family: var(--font-sans); font-size: 11px; letter-spacing: 0; text-transform: none; }
