/* Put these in order: four slots to fill, four tiles to tap, then the truth with its numbers. */
.order-picks{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
  margin:16px 0 18px;
}
.order-slot{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  min-height:64px;padding:8px 6px;border-radius:var(--r-sm);
  border:1px dashed var(--line);background:var(--surface-2);
  font-size:12px;line-height:1.2;text-align:center;color:var(--text-2);
}
.order-slot.filled{border-style:solid;border-color:var(--blue);background:var(--blue-bg);color:var(--text)}
.order-slot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.order-rank{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;flex:0 0 auto;
  background:var(--surface);border:1px solid var(--line);font-size:11px;color:var(--text-2);
}
.order-slot.filled .order-rank{background:var(--blue);border-color:var(--blue);color:#fff}

.order-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
@media (min-width:760px){.order-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

.order-tile{
  -webkit-appearance:none;appearance:none;font:inherit;cursor:pointer;text-align:left;
  display:flex;align-items:center;gap:12px;
  min-height:60px;padding:14px 16px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);
  transition:border-color var(--med) var(--ease),box-shadow var(--med) var(--ease),background var(--med) var(--ease);
}
.order-tile:hover{border-color:var(--blue)}
.order-tile.picked{border-color:var(--blue);background:var(--blue-bg)}
.order-tile-name{flex:1 1 auto;font-size:16px;min-width:0}
.order-badge{
  min-width:26px;height:26px;border-radius:50%;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:13px;color:#fff;background:transparent;
}
.order-tile.picked .order-badge{background:var(--blue)}

.order-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);
  animation:rise 320ms var(--ease-out) both;
}
.order-row.right{border-color:var(--green);background:var(--green-bg)}
.order-row.wrong{border-color:var(--red);background:var(--red-bg)}
.order-row .name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-row .val{white-space:nowrap;font-variant-numeric:tabular-nums}
.order-unit{white-space:nowrap;opacity:.8}
@media (max-width:520px){.order-unit{display:none}}

/* A tile holds whatever the data says, including "Russo-Turkish". Long words break rather than
   stretch the row off the side of a phone. */
.order-tile{min-width:0}
.order-tile .name{min-width:0;overflow-wrap:anywhere}
