/* Memorizer - colours come from assets/theme.css */
.mm-wrap{max-width:1100px}
.mm-top{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:18px}
.mm-piece{display:flex;flex-direction:column;gap:4px;flex:1;min-width:220px}
.mm-lab{font-size:.78rem;font-weight:600;color:var(--ink-2)}
.mm-top select,.mm-form select{font:inherit;padding:9px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);color:var(--ink);min-width:0}
.mm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 .875rem/1 var(--font-ui);padding:10px 14px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}
.mm-btn:hover{border-color:var(--ink-3)}
.mm-btn:disabled{opacity:.45;cursor:default}
.mm-btn.mm-pri{background:var(--accent-fill);color:var(--on-accent);border-color:transparent}
.mm-btn.mm-danger{color:var(--red,#a3312a)}
.mm-link{background:none;border:0;padding:8px 0;color:var(--ink-2);font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;margin-left:12px}
.mm-empty{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px 28px 24px;max-width:720px}
.mm-empty h2{font:600 1.25rem/1.25 var(--font-ui);margin:0 0 8px}
.mm-empty p{color:var(--ink-2);margin:0 0 14px}
.mm-steps{margin:0 0 14px;padding-left:20px;color:var(--ink-2)}
.mm-steps li{margin-bottom:6px}
.mm-fine{font-size:.85rem}
.mm-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}
.mm-tabs button{font:600 .9rem/1 var(--font-ui);padding:11px 14px;background:none;border:0;border-bottom:2px solid transparent;color:var(--ink-2);cursor:pointer;margin-bottom:-1px}
.mm-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.mm-status{background:var(--accent-soft);color:var(--ink);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:.9rem;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mm-status[hidden]{display:none}
.mm-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.mm-seg{display:inline-flex;border:1px solid var(--line-2);border-radius:8px;overflow:hidden}
.mm-seg button{font:600 .85rem/1 var(--font-ui);padding:10px 13px;border:0;background:var(--surface);color:var(--ink-2);cursor:pointer}
.mm-seg button+button{border-left:1px solid var(--line-2)}
.mm-seg button[aria-pressed="true"]{background:var(--ink);color:var(--surface)}
.mm-count{font-size:.85rem;color:var(--ink-3);margin-left:auto}
.mm-hint{font-size:.85rem;color:var(--ink-2);margin:4px 0 12px;max-width:75ch}
.mm-selpanel{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:.88rem;position:sticky;top:8px;z-index:5}
.mm-selpanel[hidden]{display:none}
.mm-inl{display:inline-flex;align-items:center;gap:6px}
.mm-num{width:64px;font:inherit;padding:7px 8px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);color:var(--ink)}
.mm-pages{display:flex;flex-direction:column;gap:18px}
.mm-page{position:relative;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;min-height:200px;user-select:none;-webkit-user-select:none}
.mm-ph{display:grid;place-items:center;height:300px;color:#8a8479;font-size:.9rem}
.mm-img{display:block;width:100%;height:auto}
.mm-ov{position:absolute;inset:0;touch-action:pan-y}
.mm-pages[data-tool="lines"] .mm-ov{cursor:crosshair}
.mm-pages[data-tool="bars"] .mm-ov,.mm-pages[data-tool="marks"] .mm-ov{cursor:pointer}
.mm-sys{position:absolute;border:1.5px solid rgba(39,65,128,.55);background:rgba(39,65,128,.05);border-radius:3px}
.mm-sys.sel{border-color:#c47f0a;background:rgba(234,162,26,.10);box-shadow:0 0 0 2px rgba(234,162,26,.35)}
.mm-bl{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;background:#2b6fd6;border-radius:2px;opacity:.85}
.mm-pages[data-tool="bars"] .mm-bl{width:5px;margin-left:-2.5px}
.mm-bn{position:absolute;transform:translate(3px,-100%);font:700 11px/1 var(--font-ui);color:#274180;background:rgba(255,255,255,.85);padding:2px 3px;border-radius:3px;pointer-events:none}
.mm-flag{position:absolute;transform:translate(-2px,calc(-100% - 15px));font:700 12px/1 var(--font-ui);color:#fff;background:#274180;padding:4px 7px;border-radius:4px 4px 4px 0;pointer-events:none;white-space:nowrap}
.mm-flag.mm-expressive{background:#8a3b8f}.mm-flag.mm-interpretive{background:#1f7a62}.mm-flag.mm-basic{background:#9a6210}
.mm-drag{position:absolute;border:2px dashed #c47f0a;background:rgba(234,162,26,.12);pointer-events:none}
.mm-mask{position:absolute;border:0;padding:0;background:#fdfcf8;cursor:pointer;display:flex;align-items:flex-start;justify-content:flex-start;outline:1px solid #ece7dc}
.mm-mask span{font:700 11px/1 var(--font-ui);color:#a39e94;padding:4px}
.mm-mask.peek{background:transparent;outline:2px solid rgba(234,162,26,.6)}
.mm-mask.peek span{color:#c47f0a}
.mm-mask:focus-visible{outline:3px solid var(--accent)}
.mm-range{display:inline-flex;align-items:center;gap:10px;font-size:.9rem}
.mm-range input{width:200px}
.mm-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;max-width:900px}
.mm-card h2{font:600 1.15rem/1.25 var(--font-ui);margin:0 0 12px}
.mm-form{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin-bottom:6px}
.mm-form label{display:flex;flex-direction:column;gap:4px}
.mm-check{flex-direction:row!important;align-items:center;gap:8px!important;font-size:.9rem}
.mm-due{font-size:.85rem;color:var(--ink-3);margin:10px 0 0}
.mm-progress{font-size:.8rem;color:var(--ink-3);margin-bottom:6px}
.mm-cue{font:600 2.2rem/1.1 var(--font-ui);letter-spacing:-.01em;margin:4px 0 6px}
.mm-cue-sub{color:var(--ink-2);margin:0 0 14px}
.mm-ctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.mm-area{overflow-x:auto}
.mm-crop{display:flex;flex-direction:column;gap:8px;margin:6px 0 12px}
.mm-cropc{max-width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:4px}
.mm-grades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:560px}
.mm-grade{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left}
.mm-grade b{font:700 .95rem/1 var(--font-ui)}
.mm-grade small{font-size:.75rem;color:var(--ink-3)}
.mm-g-solid b{color:var(--green,#1f7a4e)}.mm-g-shaky b{color:var(--gold,#9a6210)}.mm-g-lost b{color:var(--red,#a3312a)}
.mm-grade:hover{border-color:var(--ink-3)}
.mm-strip{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 12px}
.mm-strip button{min-width:38px;padding:8px 6px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--ink);font:600 .8rem/1 var(--font-ui);cursor:pointer}
.mm-strip button.lm{border-color:var(--accent)}
.mm-strip button[data-s="1"]{background:#f6e3b8;border-color:#d9a640;color:#5b3d00}
.mm-strip button[data-s="2"]{background:#f3c9c4;border-color:#c8574d;color:#5c120c}
.mm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:20px}
.mm-stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.mm-stat-n{font:700 1.5rem/1.1 var(--font-ui);font-variant-numeric:tabular-nums}
.mm-stat-l{font-size:.8rem;color:var(--ink-3);margin-top:2px}
.mm-h{font:600 1rem/1.2 var(--font-ui);margin:18px 0 4px}
.mm-heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:3px;margin-bottom:8px}
.mm-cell{position:relative;display:grid;place-items:center;height:30px;border-radius:4px;font:600 10px/1 var(--font-ui);color:var(--ink-2);background:var(--surface-2)}
.mm-cell.lm{box-shadow:inset 0 0 0 2px var(--accent)}
.mm-cell.lost::after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--red,#a3312a)}
.mm-cell.b0:not(.new),.mm-legend .b0{background:#f3d2cd;color:#5c120c}
.mm-cell.b1,.mm-cell.b2,.mm-cell.b3,.mm-legend .b2{background:#f4e1b4;color:#4c3300}
.mm-cell.b4,.mm-cell.b5,.mm-legend .b4{background:#cfe6d6;color:#123d22}
.mm-cell.b6,.mm-legend .b6{background:#8ccaa1;color:#0b2a16}
.mm-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.8rem;color:var(--ink-2);margin-bottom:10px}
.mm-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-2px}
.mm-table{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.mm-tr{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(90px,.8fr) minmax(90px,1fr) minmax(80px,.7fr);gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:.88rem}
.mm-tr:last-child{border-bottom:0}
.mm-tr span{color:var(--ink-2)}
.mm-when{text-align:right}
.mm-dots{display:flex;gap:3px}
.mm-dots i{width:9px;height:9px;border-radius:50%}
.mm-d-solid{background:#2f9a62}.mm-d-shaky{background:#d9a640}.mm-d-lost{background:#c8574d}
.mm-pop{position:absolute;z-index:60;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:10px;display:flex;flex-direction:column;gap:8px;width:260px}
.mm-pop input,.mm-pop select{font:inherit;padding:8px 9px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);color:var(--ink)}
.mm-pop-t{font-weight:700;font-size:.85rem}
.mm-pop-row{display:flex;gap:8px}
.mm-menu{width:auto;min-width:200px;padding:6px;gap:0}
.mm-menu button{all:unset;cursor:pointer;padding:9px 10px;border-radius:7px;font-size:.9rem}
.mm-menu button:hover{background:var(--surface-2)}
@media (max-width:640px){
  .mm-cue{font-size:1.7rem}
  .mm-grades{grid-template-columns:1fr}
  .mm-tr{grid-template-columns:1fr auto;}
  .mm-tr .mm-dots{grid-column:1}
  .mm-count{margin-left:0;flex-basis:100%}
}
:root[data-theme="dark"] .mm-img,:root[data-theme="dark"] .mm-cropc,:root[data-theme="dark"] .mm-mask{filter:invert(1) hue-rotate(180deg)}
:root[data-theme="dark"] .mm-page{background:#000}
:root[data-theme="dark"] .mm-cell.b0:not(.new),:root[data-theme="dark"] .mm-legend .b0{background:#5a2621;color:#f6d9d5}
:root[data-theme="dark"] .mm-cell.b1,:root[data-theme="dark"] .mm-cell.b2,:root[data-theme="dark"] .mm-cell.b3,:root[data-theme="dark"] .mm-legend .b2{background:#5a4718;color:#f6e7c2}
:root[data-theme="dark"] .mm-cell.b4,:root[data-theme="dark"] .mm-cell.b5,:root[data-theme="dark"] .mm-legend .b4{background:#1f4a31;color:#d6f0de}
:root[data-theme="dark"] .mm-cell.b6,:root[data-theme="dark"] .mm-legend .b6{background:#2f7a4e;color:#eafff1}
