:root {
  --mnu-ink: #17160f;
  --mnu-gold: #e7b84a;
  --mnu-red: #d94732;
  --mnu-purple: #4d2675;
  --mnu-paper: #fffdf4;
  --mnu-line: rgba(23, 22, 15, .12);
}

.mnu-list { display: grid; gap: 28px; }
.mnu-card { position: relative; overflow: hidden; margin: 0 0 28px; color: var(--mnu-ink); background: var(--mnu-paper); border: 1px solid rgba(231,184,74,.5); border-radius: 24px; box-shadow: 0 18px 50px rgba(39,25,12,.12); font-family: "Noto Sans JP", system-ui, sans-serif; }
.mnu-card::before { content: ""; display: block; height: 7px; background: linear-gradient(90deg,var(--mnu-purple),var(--mnu-red),var(--mnu-gold)); }
.mnu-card__header { padding: 28px; background: radial-gradient(circle at 90% 0,rgba(231,184,74,.23),transparent 34%),linear-gradient(135deg,#21152c,#4d2675); color: #fff; }
.mnu-card__header h2 { margin: 7px 0 14px; color: #fff; font-size: clamp(24px,4vw,38px); line-height: 1.25; }
.mnu-kicker,.mnu-layer-tag { display: inline-block; padding: 5px 10px; border: 1px solid currentColor; border-radius: 999px; color: var(--mnu-gold); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.mnu-meta { display: flex; flex-wrap: wrap; gap: 7px 14px; font-size: 12px; opacity: .9; }
.mnu-section { padding: 24px 28px; border-top: 1px solid var(--mnu-line); }
.mnu-section h3 { margin: 8px 0 16px; font-size: 22px; }
.mnu-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.mnu-bet { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 18px; background: #fff; border: 1px solid var(--mnu-line); border-radius: 16px; }
.mnu-bet strong { color: var(--mnu-purple); }
.mnu-bet span { font-size: 20px; font-weight: 900; letter-spacing: .06em; }
.mnu-bet b { color: var(--mnu-red); font-size: 13px; }
.mnu-evidence { margin-top: 14px; padding: 16px 18px; background: #f5f1e7; border-radius: 14px; }
.mnu-evidence p { margin: 7px 0 0; }
.mnu-layer { background: linear-gradient(135deg,rgba(231,184,74,.08),transparent); }
.mnu-state { margin: 0; padding: 14px 18px; border-left: 4px solid var(--mnu-gold); background: #fff; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-weight: 800; }
.mnu-state--skip { color: #69665b; }
.mnu-model-e { background: #f2ebf8; }
.mnu-model-e .mnu-layer-tag { color: var(--mnu-purple); }
.mnu-model-details { display: grid; gap: 10px; }
.mnu-objective { color: var(--mnu-purple); font-weight: 900; }
.mnu-longshots { background: #fff6ec; }
.mnu-longshot { margin: 12px 0; padding: 18px; border: 1px solid rgba(217,71,50,.2); border-radius: 16px; background: #fff; }
.mnu-longshot h4 { margin: 0 0 10px; color: var(--mnu-red); font-size: 19px; }
.mnu-longshot p { margin: 7px 0; }
.mnu-market-note { color: #676259; font-size: 12px; }
.mnu-card__footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 18px 28px; background: #18141c; color: #fff; font-size: 12px; }
.mnu-card__footer code { color: var(--mnu-gold); }
.mnu-pending { padding: 20px; border: 1px dashed #aaa; border-radius: 16px; background: #f8f8f8; text-align: center; }
.mnu-admin-errors { padding: 16px 28px; background: #fff0ed; color: #9a2418; }

.mnu-fieldset { margin: 18px 0; padding: 18px; border: 1px solid #dcdcde; border-radius: 12px; background: #fff; }
.mnu-fieldset legend { padding: 0 8px; color: #4d2675; font-size: 16px; font-weight: 800; }
.mnu-help { margin-top: 0; color: #646970; }
.mnu-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.mnu-field { display: flex; flex-direction: column; gap: 6px; }
.mnu-field > span { font-weight: 700; }
.mnu-field input,.mnu-field select,.mnu-field textarea { width: 100%; max-width: none; }
.mnu-field--wide { grid-column: 1 / -1; }
.mnu-checkbox { flex-direction: row; align-items: center; grid-column: 1 / -1; }
.mnu-checkbox input { width: auto; }
.mnu-checkbox small { color: #646970; }
.mnu-admin-form.is-locked { opacity: .72; }
.mnu-lock-notice { padding: 14px 18px; border-left: 4px solid #dba617; background: #fff8d8; }
.mnu-check-summary { display: flex; flex-wrap: wrap; gap: 12px 22px; padding: 14px 18px; border-radius: 10px; }
.mnu-check-summary.is-pass { background: #e7f7ed; color: #126b33; }
.mnu-check-summary.is-fail { background: #fff0ed; color: #9a2418; }
.mnu-rule-errors { color: #9a2418; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; }
.mnu-rule-warnings { color: #7a5400; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; }
.mnu-admin-preview { margin: 20px 0; }
.mnu-col-pass { color: #087f3e; font-weight: 800; }
.mnu-col-fail { color: #b32d2e; font-weight: 800; }
.mnu-guide { max-width: 880px; padding: 24px; background: #fff; border: 1px solid #dcdcde; border-radius: 12px; }

@media (max-width: 700px) {
  .mnu-grid,.mnu-fields { grid-template-columns: 1fr; }
  .mnu-field--wide { grid-column: auto; }
  .mnu-card__header,.mnu-section { padding: 20px; }
  .mnu-bet span { font-size: 18px; }
}
/* Public URL readers: a light work area with dark type for legibility. */
#mnu-page .mnu-race-reader{padding:20px;border:1px solid #cbd8e5;border-radius:18px;background:#f4f8fc;color:#172a3b!important;font-size:15px;line-height:1.6}
#mnu-page .mnu-race-reader label{display:block;margin-bottom:9px;color:#102b43!important;font-size:16px;font-weight:800}
#mnu-page .mnu-race-reader-controls{display:flex;gap:10px;flex-wrap:wrap}
#mnu-page .mnu-race-reader input{flex:1 1 280px;min-width:0;min-height:48px;padding:10px 13px;border:2px solid #7792ab;border-radius:10px;background:#fff;color:#142536!important;font-size:15px}
#mnu-page .mnu-race-reader input::placeholder{color:#556e82;opacity:1}
#mnu-page .mnu-race-reader input:focus-visible,#mnu-page .mnu-race-reader button:focus-visible{outline:3px solid #126fa3;outline-offset:2px}
#mnu-page .mnu-today-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
#mnu-page .mnu-today-heading strong{color:#102b43;font-size:21px;letter-spacing:.03em}
#mnu-page .mnu-today-heading #mnu-today-refresh{min-height:39px;padding:7px 12px;background:#e0edf6;color:#164363!important;font-size:14px}
#mnu-page .mnu-today-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;padding:5px;border-radius:13px;background:#dce8f1}
#mnu-page .mnu-today-tabs button{background:transparent;color:#34546d!important}
#mnu-page .mnu-today-tabs button[aria-pressed="true"]{background:#113e59;color:#fff!important;box-shadow:0 3px 10px #123e5926}
#mnu-page .mnu-today-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#mnu-page .mnu-today-selectors label{font-size:14px}
#mnu-page .mnu-today-selectors select{display:block;width:100%;min-height:48px;margin-top:7px;padding:9px 12px;border:2px solid #7792ab;border-radius:10px;background:#fff;color:#142536;font-size:15px}
#mnu-page .mnu-today-selectors select:disabled{opacity:.66}
#mnu-page .mnu-today-note{margin:14px 0 0;color:#35546c!important;font-size:14px;line-height:1.65}
#mnu-page .mnu-today-note a{color:#075d8d!important;text-decoration:underline}
#mnu-page #mnu-today-status{margin-top:14px;font-weight:700;color:#21384c!important}
#mnu-page .mnu-race-reader button{min-height:48px;padding:10px 17px;border:0;border-radius:10px;background:#f5c451;color:#172536!important;font-size:15px;font-weight:800;cursor:pointer}
#mnu-page .mnu-race-reader [role=status],#mnu-page .mnu-race-reader #mnu-race-reader-result p,#mnu-page .mnu-race-reader #mnu-horse-reader-result p{margin-top:14px;color:#21384c!important}
#mnu-page .mnu-race-reader #mnu-race-reader-result[role=status] p,#mnu-page .mnu-race-reader #mnu-horse-reader-result[role=status] p{color:#21384c!important}
#mnu-page .mnu-race-summary{display:flex;gap:8px 20px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px}
#mnu-page .mnu-race-summary strong{color:#102b43!important;font-size:16px}
#mnu-page .mnu-race-summary span{color:#38556d!important;font-size:13px}
#mnu-page .mnu-race-reader #mnu-race-reader-result .mnu-race-summary strong,#mnu-page .mnu-race-reader #mnu-horse-reader-result .mnu-race-summary strong{color:#102b43!important}
#mnu-page .mnu-race-reader #mnu-race-reader-result .mnu-race-summary span,#mnu-page .mnu-race-reader #mnu-horse-reader-result .mnu-race-summary span{color:#38556d!important}
#mnu-page .mnu-race-scroll{max-height:430px;overflow:auto;background:#fff;border:1px solid #ccd8e2;border-radius:10px}
#mnu-page .mnu-race-reader table{width:100%;border-collapse:collapse;min-width:560px;color:#172a3b!important;font-size:14px}
#mnu-page .mnu-race-reader th,#mnu-page .mnu-race-reader td{padding:11px;border-bottom:1px solid #d9e3eb;text-align:left;color:#172a3b!important}
#mnu-page .mnu-race-reader th{position:sticky;top:0;background:#e2edf5;color:#102b43!important}
#mnu-page .mnu-race-reader tr:nth-child(even) td{background:#f4f8fb}
#mnu-page .mnu-race-reader a.mnu-horse-link{color:#075d8d!important;text-decoration:underline!important}
#mnu-page .mnu-shortlist{margin-top:18px}
#mnu-page .mnu-shortlist button[hidden]{display:none!important}
#mnu-page .mnu-shortlist button{background:#117095;color:#fff!important;padding:12px 24px;font-size:16px}
#mnu-page .mnu-shortlist button:disabled{opacity:.65;cursor:wait}
#mnu-page .mnu-shortlist-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin:18px 0 10px}
#mnu-page .mnu-shortlist-heading strong{color:#102b43!important;font-size:19px}
#mnu-page .mnu-shortlist-heading span{color:#38556d!important;font-size:14px}
#mnu-page .mnu-shortlist-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
#mnu-page .mnu-shortlist-list li{display:flex;align-items:center;gap:14px;padding:13px 15px;border:1px solid #d2dfe9;border-radius:12px;background:#fff;color:#142a3d}
#mnu-page .mnu-shortlist-list li{align-items:flex-start}
#mnu-page .mnu-shortlist-body{flex:1;min-width:0}
#mnu-page .mnu-shortlist-list strong{color:#102b43!important;font-size:16px}
#mnu-page .mnu-shortlist-mark{flex:0 0 32px;font-size:24px;font-weight:900;color:#a55011!important}
#mnu-page .mnu-shortlist-score{margin-left:auto;white-space:nowrap;color:#075d8d!important;font-size:14px;font-weight:800}
#mnu-page .mnu-race-reader #mnu-predict-result .mnu-shortlist-list p{margin:2px 0 0;color:#36546a!important;font-size:14px}
#mnu-page .mnu-race-reader #mnu-predict-result .mnu-shortlist-list .mnu-shortlist-reason{margin-top:10px;line-height:1.75;color:#21384c!important}
#mnu-page .mnu-race-reader #mnu-predict-result .mnu-shortlist-note{margin:13px 0 0;color:#36546a!important;font-size:14px;line-height:1.65}
#mnu-page .mnu-bet-preview-heading{margin:27px 0 12px}
#mnu-page .mnu-bet-preview-heading h3{margin:0;color:#102b43!important;font-size:20px}
#mnu-page .mnu-bet-preview-heading p{margin:4px 0 0;color:#36546a!important;font-size:14px}
#mnu-page .mnu-bet-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#mnu-page .mnu-bet-preview{padding:16px 18px;border:1px solid #cbdbe7;border-radius:13px;background:#fff;color:#172a3b}
#mnu-page .mnu-bet-preview h4{margin:0 0 10px;color:#102b43!important;font-size:17px}
#mnu-page .mnu-bet-preview h4 small{margin-left:5px;color:#075d8d!important;font-size:13px;font-weight:800}
#mnu-page .mnu-bet-preview ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:7px;list-style:none;margin:0;padding:0}
#mnu-page .mnu-bet-preview li{padding:8px 9px;border-radius:8px;background:#eaf3fa;color:#102b43!important;font-size:15px;font-weight:800;white-space:nowrap;text-align:center}
@media (max-width:700px){#mnu-page .mnu-bet-preview-grid{grid-template-columns:1fr}}
@media (max-width:600px){#mnu-page .mnu-shortlist-list li{flex-wrap:wrap}#mnu-page .mnu-shortlist-score{width:100%;margin-left:46px}}
@media (max-width:600px){#mnu-page .mnu-race-reader{padding:16px}#mnu-page .mnu-race-reader-controls>*{flex-basis:100%;width:100%}}
@media (max-width:600px){#mnu-page .mnu-today-selectors{grid-template-columns:1fr}#mnu-page .mnu-today-heading strong{font-size:18px}#mnu-page .mnu-today-heading #mnu-today-refresh{font-size:12px}}
