.odq-dma{--p-brand:#7A3FF2;--p-accent:#ff8100;--lt:#f0d9b5;--dk:#b58863;--pw:#f8f1e4;--pwb:#4a3626;--pb:#3b2a20;--pbb:#e8d5b8;--hl:rgba(255,129,0,.55);--sel:rgba(255,206,64,.75);--last:rgba(122,63,242,.28);--hint:rgba(0,170,110,.7);--bg:#fff;--tx:#1B1830;--mut:#5d586e;--bd:#e6e2f2;--soft:#f8f6fd;--tint:#f3eefe;--ink:#5b27c9;position:relative;max-width:none;margin:0 0 2.5rem;padding:1.1rem;border:1px solid var(--bd);border-radius:18px;background:#fff;box-shadow:0 6px 24px rgb(27 24 48 / .06);color:var(--tx);font-family:Montserrat,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.45;box-sizing:border-box;-webkit-tap-highlight-color:#fff0}@media (max-width:480px){.odq-dma{margin-left:-12px;margin-right:-12px;padding:8px;border-radius:14px}.odq-dma .dm-top{margin-bottom:8px}}.odq-dma *{box-sizing:border-box}.odq-dma.is-full{position:fixed;inset:0;z-index:99999;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;background:var(--bg);padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;overflow:auto}.odq-dma.is-full .dm-inner{width:100%}.odq-dma.is-full .dm-top,.odq-dma.is-full .dm-msg{max-width:max(320px,calc(100dvh - 150px));margin-left:auto;margin-right:auto}.odq-dma.is-full details.dm-more{display:none}.odq-dma .dm-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;min-height:44px;margin:0 0 .75rem;padding:.5rem .8rem;border-radius:12px;background:var(--soft);font-size:.95rem;font-weight:700}.odq-dma.is-full .dm-top{margin-bottom:6px;padding:.35rem .7rem}.odq-dma .dm-top>span:first-child{display:contents}.odq-dma .dm-top .dm-status{grid-column:1;grid-row:1}.odq-dma .dm-top .dm-count{grid-column:2;grid-row:1}.odq-dma .dm-top .dm-lastmv{grid-column:1/-1;grid-row:2}.odq-dma .dm-status{display:block;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.odq-dma .dm-lastmv{display:block;height:1.35em;line-height:1.35;font-weight:500;font-size:.78rem;color:var(--p-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:480px){.odq-dma .dm-lastmv{height:2.7em;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.odq-dma .dm-count{flex:0 0 auto;font-weight:500;color:var(--mut);font-size:.8rem;white-space:nowrap}.odq-dma .dm-boardwrap{position:relative;width:min(100%,640px,calc(100dvh - 200px));min-width:min(100%,300px);margin:0 auto}.odq-dma.is-full .dm-boardwrap{width:min(100%,calc(100dvh - 150px))}.odq-dma .dm-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);aspect-ratio:1;width:100%;border:3px solid var(--dk);border-radius:6px;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none}.odq-dma .dm-cell{position:relative;display:flex;align-items:center;justify-content:center;background:var(--lt);outline:none;cursor:default;min-width:0}.odq-dma .dm-cell.dk{background:var(--dk);cursor:pointer}.odq-dma .dm-cell.last::before,.odq-dma .dm-cell.sel::before,.odq-dma .dm-cell.tgt::before,.odq-dma .dm-cell.hintc::before{content:"";position:absolute;inset:0;pointer-events:none}.odq-dma .dm-cell.last::before{background:var(--last)}.odq-dma .dm-cell.sel::before{background:var(--sel)}.odq-dma .dm-cell.hintc::before{background:var(--hint)}.odq-dma .dm-cell.tgt::after{content:"";position:absolute;width:30%;height:30%;border-radius:50%;background:var(--hl);pointer-events:none;box-shadow:0 0 0 3px rgb(255 255 255 / .45)}.odq-dma .dm-cell.lastc-to{box-shadow:inset 0 0 0 4px var(--p-accent)}.odq-dma .dm-cell.lastc-from{box-shadow:inset 0 0 0 3px rgb(255 129 0 / .55)}.odq-dma .dm-cell.lastc-cap{background-image:linear-gradient(45deg,transparent 45%,var(--p-accent) 45% 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--p-accent) 45% 55%,transparent 55%);background-size:46% 46%;background-repeat:no-repeat;background-position:center}.odq-dma .dm-anim{position:absolute;inset:0;pointer-events:none;z-index:4}.odq-dma .dm-cell.must .dm-pc{box-shadow:0 0 0 3px var(--p-accent),0 2px 3px rgb(0 0 0 / .35)}.odq-dma .dm-cell:focus-visible{box-shadow:inset 0 0 0 3px var(--p-brand),inset 0 0 0 5px #fff;z-index:2}.odq-dma .dm-pc{position:relative;width:78%;height:78%;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 3px rgb(0 0 0 / .35);transition:transform .12s ease}.odq-dma .dm-cell.sel .dm-pc{transform:scale(1.08)}.odq-dma .dm-pc.w{background:radial-gradient(circle at 35% 30%,#fff,var(--pw) 60%);border:3px solid var(--pwb);color:var(--pwb)}.odq-dma .dm-pc.b{background:radial-gradient(circle at 35% 30%,#6b5648,var(--pb) 65%);border:3px solid var(--pbb);color:var(--pbb)}.odq-dma .dm-pc.b::before{content:"";position:absolute;inset:16%;border-radius:50%;border:2px solid var(--pbb);opacity:.55}.odq-dma .dm-pc svg{width:58%;height:58%;fill:currentColor;position:relative}.odq-dma .dm-pc.ghost{opacity:.28}.odq-dma.contrast .dm-pc.w{background:#fff;border:4px solid #000;color:#000}.odq-dma.contrast .dm-pc.b{background:#000;border:4px solid #fff;color:#fff}.odq-dma.contrast .dm-cell{background:#fff}.odq-dma.contrast .dm-cell.dk{background:#555}.odq-dma.contrast .dm-board{border-color:#000}.odq-dma .dm-msg{min-height:30px;padding:6px 4px 0;font-size:.85rem;color:var(--p-brand);font-weight:600;text-align:center}.odq-dma.is-full .dm-msg{min-height:22px;padding-top:2px}.odq-dma .dm-msg.err{color:#b3261e}.odq-dma .dm-tools{display:grid;gap:8px;max-width:640px;margin:0 auto;padding:4px 0}.odq-dma .dm-tg{display:grid;gap:8px}.odq-dma .dm-tg-play{grid-template-columns:repeat(3,minmax(0,1fr))}.odq-dma .dm-tg-game{grid-template-columns:repeat(2,minmax(0,1fr))}.odq-dma .dm-tools button.dm-btn{display:flex;align-items:center;justify-content:center;gap:.45rem;min-width:0;border-radius:12px;min-height:46px;padding:.45rem .6rem}.odq-dma .dm-tools button.dm-btn span{min-width:0;text-align:center;line-height:1.15}.odq-dma .dm-tools button.dm-btn svg{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--p-brand)}.odq-dma .dm-tools button.dm-btn:disabled svg{color:inherit}.odq-dma .dm-tools button.dm-btn.warn{border-color:#b3261e;color:#b3261e}.odq-dma .dm-tools button.dm-btn.warn svg{color:#b3261e}.odq-dma .dm-tools button.dm-btn.big{min-height:50px;border-color:var(--p-brand);background:var(--p-brand);color:#fff;font-size:.95rem;font-weight:700;box-shadow:0 6px 16px rgb(91 39 201 / .25)}.odq-dma .dm-tools button.dm-btn.big svg{color:#fff;width:20px;height:20px}.odq-dma .dm-tools button.dm-btn.big:hover,.odq-dma .dm-tools button.dm-btn.big:focus{border-color:#6530d6;background:#6530d6;color:#fff}@media (max-width:480px){.odq-dma .dm-tg-play button.dm-btn{flex-direction:column;gap:3px;min-height:58px;font-size:.78rem;padding:.4rem .3rem}}@media (orientation:landscape){.odq-dma.is-full .dm-tools{display:flex;flex-wrap:wrap;justify-content:center;max-width:none}.odq-dma.is-full .dm-tg{display:contents}.odq-dma.is-full .dm-tools button.dm-btn{min-height:38px;padding:.35rem .75rem;font-size:.8rem;flex-direction:row;border-radius:999px;box-shadow:none}}.odq-dma.is-full .dm-tools{gap:6px;padding:0}.odq-dma.is-setup .dm-top,.odq-dma.is-setup .dm-tools,.odq-dma.is-setup .dm-msg:empty{display:none}.odq-dma button.dm-btn,.odq-dma button.dm-chip,.odq-dma button.dm-opt,.odq-dma button.dm-seg-btn,.odq-dma button.dm-start{font-family:inherit;font-size:.85rem;font-weight:600;line-height:1.2;cursor:pointer;margin:0;text-transform:none;letter-spacing:0;box-shadow:none;outline:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.odq-dma button.dm-btn,.odq-dma button.dm-chip{border:2px solid var(--bd);background:#fff;color:var(--tx);border-radius:999px;padding:.5rem 1rem;min-height:42px}.odq-dma button.dm-btn:hover,.odq-dma button.dm-chip:hover{border-color:#c9bff0;background:#fff;color:var(--tx)}.odq-dma button.dm-btn:focus,.odq-dma button.dm-chip:focus{color:var(--tx)}.odq-dma button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.odq-dma button.dm-btn.pri{border-color:var(--p-brand);background:var(--p-brand);color:#fff;font-weight:700}.odq-dma button.dm-btn.pri:hover,.odq-dma button.dm-btn.pri:focus{border-color:#6530d6;background:#6530d6;color:#fff}.odq-dma button.dm-btn:disabled{opacity:.4;cursor:default}.odq-dma button.dm-btn:disabled:hover{border-color:var(--bd)}.odq-dma button.dm-chip[aria-pressed=true]{border-color:var(--p-brand);background:var(--tint);color:var(--tx)}.odq-dma .dm-overlay{position:absolute;inset:0;background:rgb(255 255 255 / .94);border-radius:6px;display:flex;align-items:center;justify-content:center;padding:10px;overflow:auto;z-index:5}.odq-dma .dm-overlay[hidden]{display:none}.odq-dma .dm-panel{width:100%;max-width:420px;text-align:center}.odq-dma .dm-panel h2{font-family:inherit;font-size:1.15rem;font-weight:800;margin:0 0 6px;line-height:1.2;color:var(--tx)}.odq-dma .dm-panel .dm-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.odq-dma .dm-row{margin:10px 0}.odq-dma .dm-chips{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.odq-dma .dm-chips .dm-chip{padding:.4rem .85rem;min-height:38px}.odq-dma .dm-sub{font-size:.85rem;color:var(--mut);margin:2px 0 8px}.odq-dma.is-setup .dm-boardwrap{width:100%;max-width:640px;min-width:0}.odq-dma.is-setup .dm-board{display:none}.odq-dma.is-setup .dm-overlay{position:static;display:block;padding:0;background:none;overflow:visible}.odq-dma .dm-setup{max-width:560px;margin:0 auto;text-align:left}.odq-dma .dm-setup h2{text-align:center;font-size:1.3rem;margin:.25rem 0 .2rem}.odq-dma .dm-setup>.dm-sub{text-align:center;margin:0 0 1.1rem}.odq-dma .dm-group{margin:0 0 1.1rem}.odq-dma .dm-label{display:block;margin:0 0 .45rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.odq-dma .dm-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.6rem}.odq-dma button.dm-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;min-height:92px;padding:.7rem .5rem;border:2px solid var(--bd);border-radius:14px;background:#fff;color:var(--tx);font-size:.9rem;font-weight:700;text-align:center}.odq-dma button.dm-opt:hover{border-color:#c9bff0;background:#fff;color:var(--tx)}.odq-dma button.dm-opt:focus{color:var(--tx)}.odq-dma button.dm-opt[aria-pressed=true]{border-color:var(--p-brand);background:var(--tint);color:var(--tx);box-shadow:0 0 0 1px var(--p-brand) inset}.odq-dma .dm-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--soft);color:var(--p-brand)}.odq-dma button.dm-opt[aria-pressed=true] .dm-ico{background:#fff}.odq-dma .dm-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.odq-dma .dm-ico .dm-pc{width:34px;height:34px;box-shadow:0 2px 3px rgb(0 0 0 / .25)}.odq-dma .dm-ico .dm-pc.w{background:radial-gradient(circle at 35% 30%,#fff,#f8f1e4 60%);border:3px solid #4a3626}.odq-dma .dm-ico .dm-pc.b{background:radial-gradient(circle at 35% 30%,#6b5648,#3b2a20 65%);border:3px solid #e8d5b8}.odq-dma .dm-ico .dm-pc.r{background:linear-gradient(90deg,#f8f1e4 50%,#3b2a20 50%);border:3px solid #8a7260}.odq-dma .dm-ico .dm-pc::before{display:none}.odq-dma .dm-seg{display:flex;padding:4px;border-radius:999px;background:var(--soft);border:1px solid var(--bd);gap:2px}.odq-dma button.dm-seg-btn{flex:1 1 0%;min-width:0;min-height:44px;padding:.3rem .4rem;border:0;border-radius:999px;background:#fff0;color:var(--mut);font-size:.85rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.odq-dma button.dm-seg-btn:hover,.odq-dma button.dm-seg-btn:focus{background:#fff;color:var(--tx)}.odq-dma button.dm-seg-btn[aria-pressed=true]{background:#fff;color:var(--ink);font-weight:800;box-shadow:0 1px 4px rgb(27 24 48 / .14),0 0 0 2px var(--p-brand) inset}.odq-dma .dm-bars{display:inline-flex;align-items:flex-end;gap:2px;height:10px}.odq-dma .dm-bars i{display:block;width:4px;border-radius:1px;background:currentColor;opacity:.25}.odq-dma .dm-bars i:nth-child(1){height:4px}.odq-dma .dm-bars i:nth-child(2){height:6px}.odq-dma .dm-bars i:nth-child(3){height:8px}.odq-dma .dm-bars i:nth-child(4){height:10px}.odq-dma .dm-bars i.on{opacity:1}.odq-dma .dm-help{padding:.8rem 1rem;border-radius:12px;background:var(--soft);font-size:.88rem;color:var(--mut)}.odq-dma .dm-go{display:flex;justify-content:center;margin:1.4rem 0 .3rem}.odq-dma button.dm-start{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;max-width:360px;min-height:58px;padding:.8rem 1.5rem;border:0;border-radius:999px;background:linear-gradient(135deg,#8a52ff,#5b27c9);color:#fff;font-size:1.1rem;font-weight:800;box-shadow:0 8px 20px rgb(91 39 201 / .35)}.odq-dma button.dm-start:hover,.odq-dma button.dm-start:focus{background:linear-gradient(135deg,#7A3FF2,#4c1fae);color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px rgb(91 39 201 / .42)}.odq-dma button.dm-start svg{width:22px;height:22px;fill:currentColor}@media (max-width:420px){.odq-dma button.dm-opt{min-height:82px;font-size:.82rem}.odq-dma .dm-seg{display:grid;grid-template-columns:1fr 1fr;border-radius:16px}.odq-dma button.dm-seg-btn{border-radius:12px}}.odq-dma details.dm-more{margin-top:8px;border:1px solid var(--bd);border-radius:10px;padding:2px 10px;background:#fff}.odq-dma details.dm-more summary{cursor:pointer;font-weight:700;font-size:.85rem;padding:9px 0;color:var(--p-brand)}.odq-dma .dm-set{padding:4px 0 10px}.odq-dma .dm-set .dm-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}.odq-dma .dm-set .dm-row>span{font-size:.85rem}.odq-dma .dm-sw{display:inline-grid;grid-template-columns:1fr 1fr;width:20px;height:20px;border-radius:3px;overflow:hidden;vertical-align:middle;margin-right:6px;border:1px solid rgb(0 0 0 / .25)}.odq-dma table.dm-st{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:6px}.odq-dma table.dm-st th,.odq-dma table.dm-st td{padding:5px 4px;text-align:center;border-bottom:1px solid var(--bd)}.odq-dma table.dm-st th:first-child,.odq-dma table.dm-st td:first-child{text-align:left}.odq-dma .dm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media (prefers-reduced-motion:reduce){.odq-dma .dm-pc,.odq-dma button{transition:none}.odq-dma button.dm-start:hover{transform:none}}