/* Mosaic Match */
main.main:has(.mm){max-width:760px}
.mm{--g:#004225;--gold:#b8963e;--ink:#1d2320;--muted:#5d6862;--line:#dde5df;--card:#fff;--paper:#fbf8f0;position:relative;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-height:560px;user-select:none;-webkit-user-select:none}
html[data-theme="dark"] .mm{--g:#6cc79a;--ink:#e6ece8;--muted:#9fb0a6;--line:#48574e;--card:#272e2a;--paper:#1f2622}
.mm .la,.mm .gr{font-family:"Gentium Book Plus",Georgia,serif}
.mm [hidden]{display:none !important}
.mm-menu{padding:1.2rem 1.3rem;overflow:auto}
.mm-menu h1{margin:0 0 .4rem;font:700 2rem Georgia,serif;color:var(--g)}
.mm-menu p{line-height:1.5;margin:.3rem 0 .8rem}
.mm-opt{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.5rem 0}.mm-opt>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;min-width:9.5rem}
.mm-seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--card)}
.mm-seg button{border:0;background:none;color:var(--ink);font:inherit;font-size:.9rem;padding:.4rem .8rem;cursor:pointer}.mm-seg button.on{background:#004225;color:#fff}
.mm-btn{font:inherit;font-size:.95rem;padding:.55rem 1rem;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.mm-btn.pri{background:#004225;border-color:#004225;color:#fff;font-weight:700}.mm-btn.sm{padding:.3rem .6rem;font-size:.82rem}
.mm-btn.right{background:#1a8a4a;color:#fff}.mm-btn.wrong{background:#c0392b;color:#fff}
.mm-btns{display:flex;gap:.5rem;flex-wrap:wrap;margin:.9rem 0;justify-content:center}
.mm-levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:.35rem;margin:.6rem 0}
.mm-lv{aspect-ratio:1;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 .9rem system-ui;cursor:pointer}
.mm-lv.done{background:rgba(184,150,62,.25)}.mm-lv.lock{opacity:.35;cursor:default}
.mm-small{font-size:.8rem;color:var(--muted)}
.mm-help{font-size:.9rem;border-top:1px solid var(--line);padding-top:.5rem}.mm-help summary{cursor:pointer;font-weight:700;color:var(--g)}.mm-help li{margin:.25rem 0;line-height:1.45}
.mm-game{display:flex;flex-direction:column;flex:1;min-height:0;padding:.5rem .6rem .6rem;gap:.35rem}
.mm-top{display:flex;align-items:center;gap:.6rem}.mm-info{display:flex;gap:.8rem;align-items:baseline;flex:1;justify-content:flex-end;font-size:.88rem;color:var(--muted)}.mm-info b{color:var(--ink);font-size:1rem;margin-right:auto}
.mm-goals{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}
.mm-goal{background:var(--card);border:1px solid var(--line);border-radius:99px;padding:.15rem .7rem;font-size:.88rem}.mm-goal i{font-style:normal}.mm-goal b{font-size:1.05rem}.mm-goal.done{border-color:var(--gold);background:rgba(184,150,62,.2)}
.mm-word{text-align:center;font-size:1.05rem;min-height:1.7rem}.mm-word b{font-size:1.3rem;color:var(--g)}.mm-word em{color:var(--gold);font-style:normal;font-weight:700}
.mm-boardwrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size}
.mm-board{position:relative;width:min(100cqw,100cqh);aspect-ratio:1;background:#e9dfc8;border-radius:12px;box-shadow:inset 0 0 0 3px #b8963e;touch-action:none;overflow:hidden}
html[data-theme="dark"] .mm-board{background:#2d3630}
.mm-tile{position:absolute;left:0;top:0;width:14.2857%;height:14.2857%;padding:3%;border:0;background:none;cursor:pointer;transition:transform .2s ease-in,opacity .2s;-webkit-tap-highlight-color:transparent;padding:.35%}
.mm-in{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;border-radius:16%;background:color-mix(in srgb,var(--c) 34%,#fffaf0);border:3px solid var(--c);box-sizing:border-box;line-height:1;overflow:hidden}
html[data-theme="dark"] .mm-in{background:color-mix(in srgb,var(--c) 48%,#1f2622)}
.mm-in i{font-style:normal;font-size:clamp(15px,5.2cqmin,34px)}
.mm-in small{font-size:clamp(8px,2.3cqmin,14px);color:var(--ink);margin-top:6%;white-space:nowrap}
.mm-tile.sel .mm-in{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--gold);transform:scale(1.06)}
.mm-tile.sp .mm-in{background:var(--c);border-color:#fff}.mm-tile.sp small{color:#fff}
.mm-tile.pop{opacity:0;transform:scale(.3) !important}
.mm-modal{position:absolute;inset:0;z-index:5;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:1rem}
.mm-box{background:var(--card);border-radius:14px;padding:1.1rem 1.3rem;max-width:440px;width:100%;text-align:center;max-height:100%;overflow:auto}
.mm-box h2{margin:.2rem 0 .5rem;font:700 1.5rem Georgia,serif}.mm-box h2.la,.mm-box h2.gr{font:400 2.4rem "Gentium Book Plus",Georgia,serif}
.mm-q{margin:0;color:var(--muted);font-size:.9rem}.mm-qo{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.6rem 0}
.mm-words{display:grid;grid-template-columns:1fr 1fr;gap:.25rem .8rem;text-align:left;font-size:.92rem;margin:.6rem 0}.mm-words b{font-size:1.1rem}
@media (min-width:901px) and (min-height:561px){.mm{height:calc(100vh - 150px)}}
html[data-theme="dark"] .mm-in{border-color:color-mix(in srgb,var(--c) 70%,#fff)}
.mm-tile.hint .mm-in{animation:mmhint .7s ease-in-out infinite alternate;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--gold)}
@keyframes mmhint{from{transform:scale(1)}to{transform:scale(1.1)}}
.mm-tile.hint{z-index:2}
.mm-in small.sm{font-size:clamp(7px,1.85cqmin,12px)}.mm-in small.xs{font-size:clamp(6px,1.45cqmin,10px)}
.mm-info span{white-space:nowrap}
.mm-tr{font-style:italic;color:var(--muted);font-size:.85em;font-family:Georgia,serif;font-weight:400}
.mm-words span{line-height:1.3}
